https://github.com/ymzuiku/react-ob
Use react-hooks ad observer, use immer create immertable global state
https://github.com/ymzuiku/react-ob
Last synced: about 2 months ago
JSON representation
Use react-hooks ad observer, use immer create immertable global state
- Host: GitHub
- URL: https://github.com/ymzuiku/react-ob
- Owner: ymzuiku
- Created: 2020-05-18T19:27:27.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-08-03T06:11:41.000Z (over 1 year ago)
- Last Synced: 2025-03-02T05:51:34.955Z (about 2 months ago)
- Language: TypeScript
- Size: 121 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# react-ob
Only use observer do react state, only 0.4kb in gzip.
## start
1. Add `ObProvider` in App.tsx
```jsx
```
2. Use `useChannel` and `Ob` in Page
```jsx
function Page() {
const value = useChannel(0);return (
{(value) =>num: {value}}
value.set(value() + 1)}>
);
}
```3. Use global `channel`:
```jsx
const name = channel("");function UserPage() {
return (
{(_name) =>User name: {_name}}
);
}function UserSettingPage() {
return (
setting username:
name.set(e.target.value)} />
);
}
```3. Use localStorage `channel`:
```jsx
const name = channelWithStorage("user-name", "");function UserPage() {
return (
{(_name) =>User name: {_name}}
);
}function UserSettingPage() {
return (
setting username:
name.set(e.target.value)} />
);
}
```