diff --git a/packages/redux/package.json b/packages/redux/package.json index 4b661b7..26dcb07 100644 --- a/packages/redux/package.json +++ b/packages/redux/package.json @@ -28,7 +28,6 @@ "@reduxjs/toolkit": "^1.5.0", "debug": "^4.3.3", "lodash.throttle": "^4.1.1", - "react-redux": "^7.2.2", "reduce-reducers": "^1.0.4" }, "devDependencies": { diff --git a/packages/redux/src/client/index.js b/packages/redux/src/client/index.js index 45a8502..265ec52 100644 --- a/packages/redux/src/client/index.js +++ b/packages/redux/src/client/index.js @@ -1,21 +1,19 @@ import {Flecks} from '@flecks/core'; -import {Provider} from 'react-redux'; import configureStore, {createReducer} from '../store'; import localStorageEnhancer from './local-storage'; export const hooks = { - '@flecks/react.providers': Flecks.priority( - async (req, flecks) => { + '@flecks/web/client.up': Flecks.priority( + async (flecks) => { const slices = await flecks.invokeMergeUnique('@flecks/redux.slices'); const reducer = createReducer(flecks, slices); // Hydrate from server. const {preloadedState} = flecks.get('@flecks/redux'); const store = await configureStore(flecks, reducer, {preloadedState}); flecks.redux = store; - return [Provider, {store}]; }, - {before: '@flecks/react/router/client'}, + {before: '@flecks/react/client'}, ), '@flecks/redux.store': ({enhancers}) => { // Hydrate from and subscribe to localStorage. diff --git a/packages/redux/src/client/local-storage.js b/packages/redux/src/client/local-storage.js index f11463a..e77a093 100644 --- a/packages/redux/src/client/local-storage.js +++ b/packages/redux/src/client/local-storage.js @@ -21,9 +21,7 @@ const localStorageEnhancer = (createStore) => (reducer, initialState, enhancer) // Hydrate. const storage = JSON.parse(window.localStorage.getItem('@flecks/redux/state')); if (storage) { - setTimeout(() => { - store.dispatch(hydrateLocalStorage(storage)); - }, 0); + store.dispatch(hydrateLocalStorage(storage)); } // Subscribes to changes. store.subscribe( diff --git a/packages/redux/src/index.js b/packages/redux/src/index.js index 704f175..7b8839c 100644 --- a/packages/redux/src/index.js +++ b/packages/redux/src/index.js @@ -1,13 +1,12 @@ import {Flecks} from '@flecks/core'; export * from '@reduxjs/toolkit'; -export * from 'react-redux'; export * from './actions'; export const hooks = { '@flecks/socket.packets': Flecks.provide(require.context('./packets', false, /\.js$/)), '@flecks/web.config': async (req) => ({ - preloadedState: req.redux.getState(), + preloadedState: req['@flecks/redux'].getState(), }), }; diff --git a/packages/redux/src/server.js b/packages/redux/src/server.js index 5fb0189..82e0213 100644 --- a/packages/redux/src/server.js +++ b/packages/redux/src/server.js @@ -1,5 +1,4 @@ -import {D, Flecks} from '@flecks/core'; -import {Provider} from 'react-redux'; +import {D} from '@flecks/core'; import {hydrateServer} from './actions'; import createReducer from './store/create-reducer'; @@ -10,10 +9,6 @@ const debugSilly = debug.extend('silly'); export const hooks = { '@flecks/electron/server.extensions': (installer) => [installer.REDUX_DEVTOOLS], - '@flecks/react.providers': Flecks.priority( - (req) => [Provider, {store: req.redux}], - {before: '@flecks/react/router/server'}, - ), '@flecks/web/server.request.route': (flecks) => async (req, res, next) => { const slices = await flecks.invokeMergeUnique('@flecks/redux.slices'); const reducer = createReducer(flecks, slices); @@ -27,7 +22,7 @@ export const hooks = { Object.keys(slices), preloadedState, ); - req.redux = await configureStore(flecks, reducer, {preloadedState}); + req['@flecks/redux'] = await configureStore(flecks, reducer, {preloadedState}); next(); }, };