ITADN

why not using useSyncExternalStoreWithSelector ?

#25Openscr2em 创建于 2023-11-29
S
scr2emcommented
``` import { listenKeys } from 'nanostores' import { useCallback, useSyncExternalStore } from 'react' export function useStore(store, opts = {}) { let subscribe = useCallback( onChange => opts.keys ? listenKeys(store, opts.keys, onChange) : store.listen(onChange), [opts.keys, store] ) let get = store.get.bind(store) return useSyncExternalStore(subscribe, get, get) } ``` isn't it better to use useSyncExternalStoreWithSelector to replace listening for keys ? example ``` const atom = Atom({name: 'jo', age : 21}) const age = useStore(atom, (state)=> state.age) // and only re-renders when the age is changes ```
2 条评论