我想使用已经有点不同的代码。我已将重要数据存储在必须重新加载页面后立即可用的状态下,否则用户将被注销等。要实现此目的,我正在使用这种功能
window.addEventListener('onbeforeunload', store.dispatch(setDataAfterBrowserRefresh()));
尽管在该函数中,我希望能够在页面重新加载/刷新之前访问状态。 (当前,我有点只重新加载所有内容),所以我问在我的app.jsx和另一个文件中写这样的东西是一种不好的做法吗?
app.jsx
export const store = createStore(
connectRouter(history)(rootReducer),
{},
composeEnhancers(
applyMiddleware(
routerMiddleware(history),
thunk))
);
BrowserRefreshHandlerFile.js
import { store } from '../app.jsx';
介于两者之间的一些代码,然后
store.getState().partOfStateIWantToAccess
我已经习惯了仅通过使用连接的组件内部的道具,使用动作分派器等来访问商店,而不是在某些js代码中“直接”访问。
欢迎任何评论和想法。
答案 0 :(得分:1)
除了不应重新加载React应用外,我建议您查看以下内容:How can I persist redux state tree on refresh?
有一个中间件链接,可以使您的状态保持在重新加载状态。