javascript - 无需 react 即可访问 redux

标签 javascript reactjs redux

我想在不使用 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/

相关文章:

javascript - 谷歌地图标记显示错误位置?

javascript - 使用本地数据库是减少从 Cloud Db 读取/写入数据的好方法吗?

javascript - 如何在一行中从单独的解构属性进行解构?

javascript - NodeWebkit 中的 XMLHttpRequest,状态 = 0

javascript - jCarouselLite 打开/关闭按钮

javascript - 使用 props.change 更改 redux-form 中输入字段的值

javascript - 如何在 React JavaScript 中将 id 传递到 navlink

javascript - 使用 Redux 和 Thunk 的通用模式

performance - 如何使用 redux + Normalizr 减少渲染

node.js - 同构获取 (REDUX/nodeJs) - 使用用户名/密码的 POST 请求