Skip to content

Intuitive Hooks

Choose a tag to compare

@franciscop franciscop released this 09 Jul 15:12
· 241 commits to master since this release

useStore() hooks are closer to React Hook useState(), removing magic naming:

// Before:
const { pokemon, setPokemon } = useStore(); 

// After:
const [pokemon, setPokemon] = useStore('pokemon');

Added useActions hook:

// Before
const { setUser } = useStore();

// After
const setUser = useActions('user');

Added string selectors (with namespacing/deep selectors) for useSelector:

// Before:
const { user: { name } } = useStore();
const name = useSelector(state => state.user.name);

// After:
const name = useSelector('user.name');

Removed <State> to favor hooks; feel free to write a similar implementation if you really want it:

// Definition:
const State = ({ children }) => children(useSelector());

// Usage
<State>{({ user }) => <div>{user.name}</div>}</State>