我想在不使用 React 组件的情况下访问商店(分发和观察)。我一直在寻找几个小时,但没有结果。
是这样的。我在应用程序根目录中创建了商店:
import { Provider } from 'react-redux'
import createStore from './state/store';
let store = createStore();
ReactDOM.render(
<Provider store={store}>
<App>
</Provider>,
document.getElementById('root')
);
当我需要在组件中添加 Action 或监听状态变化时,我很乐意使用 react-redux
提供的 connect
函数,但当我想在组件外部设置一些逻辑(主要是调度)我被卡住了。
简而言之,我想验证一个字段。我想制作一个 validation.js
文件,我可以在其中监听商店的更改、运行验证逻辑,然后在出现最终错误时分派(dispatch)一个操作。
就商店而言,它不是全局的,我没有使用 React 组件。让 store 监听变化和调度 Action 的方法是什么?
提前致谢。
最佳答案
这就是我所做的(在创建我的商店之后):
export const dispatch = store.dispatch
然后您可以从代码中的任何位置调用 dispatch
(尽管我几乎只是从事件处理程序中调用)。
如果您使用 Redux-Saga要管理您的流程控制,您很少需要使用 dispatch
,除了用于直接用户输入的事件处理程序之外,因为它将调度包装在其 put
API 中。
关于javascript - 无需 react 即可访问 redux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36034201/