• Robert Knight's avatar
    Implement `useStoreProxy` hook · 8108f0fc
    Robert Knight authored
    Implement a new `useStoreProxy` hook that provides access to read and
    update the store in UI components. This will replace the existing
    `useStore` hook.
    
    The new hook has a more ergonomic API which should also prevent some of the
    common mistakes made when using the previous hook.
    
    `useStoreProxy` returns an ES proxy for the store. The UI component can
    use the proxy as if it were using the store directly. The proxy however
    tracks and caches the results of store selector calls. When the store
    state changes the proxy checks whether any of the cached calls would
    return different results and if so invalidates the cache and re-renders
    the component.
    8108f0fc
use-store.js 7.24 KB