useRefraction
The useRefraction hook manages reactive state inside a Refract component. It’s similar to useState in React, but follows Refract’s model of state as refractions.
Parameters
useRefraction<T>(initialValue: T): [T, (value: T) => void]
The useRefraction hook accepts a single parameter:
initialValue(T): The initial value for the refraction. This can be any serializable data type.
Returns
An array with two elements:
-
The current value of the refraction (
T). -
A setter function that updates the refraction's value.
Example
import { createComponent, useRefraction } from 'refract';
const ThemeToggle = createComponent(() => {
const [theme, setTheme] = useRefraction("light");
return (
<button onClick={() => setTheme(theme === "light" ? "dark" : "light")}>
Current theme: {theme}
</button>
);
});
This example demonstrates how to use useRefraction to manage a component's state, in this case, toggling between a "light" and "dark" theme on a button click.