我有一个NextJS React应用程序,它使用next-react-wrapper(基本上是HOC)_app.tsx
像这样:
_app.tsx
...
import withRedux from 'next-redux-wrapper';
class Page extends App<Props> {
...
}
export default withRedux(reduxStore)(Page);
商店
import { applyMiddleware, createStore } from 'redux';
import { composeWithDevTools } from 'redux-devtools-extension/developmentOnly';
import rootReducer from './reducer';
export default (
initialState: any = undefined,
) => createStore(
rootReducer,
initialState,
composeWithDevTools(applyMiddleware()),
);
我正在努力研究如何在React外部访问商店,例如在一个简单的辅助函数中。我的store.ts
文件导出了makeStore
next-redux-wrapper HOC所需的功能(包括初始状态)。
我可以访问React组件中的商店,并每次将其作为参数传递给我的辅助函数,但这似乎很麻烦。
有没有一种方法可以从非React helper功能模块直接访问商店?
您可以在任何需要的地方导入商店模块,并直接访问商店功能,例如
store.getState()
。但是,您需要订阅存储,以便在状态发生任何变化时得到通知。