@chakra-dev/dojo-hooks
v1.0.2
Published
React hooks for dojo app state management
Readme
Chakra Dojo Hooks
React hooks for dojo app state management.
Installation
npm install @chakra-dev/dojo-hooksOverview
useDojoState: React hook to centralize state management for dojo appsdojo: Global singleton instance for cross-component state sharing
Usage
Basic State Management
import { useDojoState } from "@chakra-dev/dojo-hooks";
function MyComponent() {
const [state, setState] = useDojoState({ count: 0 });
return (
<div>
<p>Count: {state.count}</p>
<button onClick={() => setState({ count: state.count + 1 })}>
Increment
</button>
</div>
);
}Global State Access
import { dojo } from "@chakra-dev/dojo-hooks";
// Access state from anywhere in your app
console.log(dojo.getState());
// Update state globally
dojo.setState({ user: { name: "John" } });TypeScript Support
interface AppState {
user: { name: string; email: string };
settings: { theme: "light" | "dark" };
}
const [state, setState] = useDojoState<AppState>({
user: { name: "", email: "" },
settings: { theme: "light" }
});API Reference
useDojoState<T>(initialState?: T)
Returns a stateful value and a function to update it, similar to React's useState.
- Parameters:
initialState(optional): Initial state value
- Returns:
[state, setState]tuple
dojo
Global singleton instance providing:
getState(): Get current statesetState(state): Update state globally
Development
Clone
git clone https://github.com/Chakra-Network/dojo-spas.git cd dojo-spas/dojo-hooksInstall
npm installBuild
npm run buildPublish
- Bump version in
package.json npm publish --access public
- Bump version in
License
MIT @ Chakra Labs
