我正在使用與redux-persist的反應,並且遇到了一些麻煩,即如果用戶從/ home到/ search,「Rehydrate」事件被激發兩次。與路線的反應持續存在
所以首先狀態在根上是正確的。然後我改變我的搜索參數。點擊搜索後,我可以看到「Rehydrate」事件被激活,並且它再次改變了應用程序的狀態。
任何想法發生了什麼問題,我能做些什麼來解決它?
下面是我使用
import {Router, Route, browserHistory, Redirect} from 'react-router';
import {persistStore, autoRehydrate} from 'redux-persist'
import {Provider} from 'react-redux';
import {compose,createStore, applyMiddleware} from 'redux';
import reducers from './reducers';
import thunkMiddleware from 'redux-thunk';
import promiseMiddleware from 'redux-promise-middleware';
import localForage from "localforage";
export const store = createStore(
reducers,
window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__(),
compose(
applyMiddleware(
thunkMiddleware,
promiseMiddleware()),
autoRehydrate()
)
);
const persistor = persistStore(store, {storage: localForage});
render(
<Provider store={store} persistor={persistor}>
<Router history={browserHistory}>
<Route path="/" component={Home}/>
<Route path="/search" component={Search}/>
</Router>
</Provider>,
document.getElementById('root')
);
感謝和問候
PS代碼:了Redux狀態的附加的圖像。正如你在搜索被觸發後可以看到的那樣,有一個新的persist/Rehydrate事件。我很幸運,仍然在補救事件後搜索結束 - 但行爲並不好。
我試圖添加確切的道具,但它不能解決問題。我附上了一個反應減少狀態的圖像 – MichaelRazum