javascript - 在 JavaScript 函数中访问 Redux 存储

标签 javascript reactjs redux react-redux

是否可以将 redux 状态映射到常规 javascript 函数而不是 React 组件?

如果不是,是否有另一种方法可以将 redux 状态连接到函数? (显然没有明确地将其作为参数传递)

我已经尝试连接到一个函数,但它中断了(我没有确切的错误消息。服务器只是遇到了一个未捕获的异常)。由于 React 组件可以是纯函数,connect() 是否仅适用于 class ComponentName extends Component(以及类似的)?

我想做这样的事情的原因:

我有一个 redux Action 生成器,如果生成器发现 Action 的结果已经处于 redux 状态,我希望生成器跳过执行 API 调用,但我不想为每个容器显式检查状态单个 api 调用。这有意义吗?

感谢您的任何想法。

最佳答案

connect() 带有 react-redux 包,它是 Redux 的 React 绑定(bind)。但是如果你想用普通的 JavaScript 与 Redux 状态交互,你不需要 connect()react-redux。您可以使用其 API 直接与 Redux store 交互.

例如,如果你想监听 Action ,你可以使用 subscribe() 方法如下,并使用 getState() 方法来访问 state

let unsubscribe = store.subscribe(function(){
  const state = store.getState();
})

我不太清楚您要实现的目标,但我希望这会有所帮助。

编辑:

您可以在一个文件中创建您的商店并将其导出。

store.js

import { createStore } from 'redux'
import reducers from "./reducers";

const store = createStore(reducers)

export default store;

现在您可以从任何其他文件导入商店并使用它。

import store from "./store";

关于javascript - 在 JavaScript 函数中访问 Redux 存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43944157/

相关文章:

javascript - 文本框中的 Angular 表达式

javascript - 使用 document.getElementByID 从文本输入中获取值不起作用

javascript - 如何在 ReactJS 中为下一个 session 存储 Cookie 以实现注册功能。谁能给我一些想法?

CSSTransition 在 css 网格布局中制作滑出式抽屉

javascript - 文件上传阻止更大的文件

reactjs - 如何创建动态 typescript 类型 : The expected type comes from property 'type' which is declared here on type 'AppActions'

javascript - React - 警告 : React. createElement : type should not be null, 未定义、 bool 值或数字

javascript - 如何覆盖 JavaScript 中的默认参数

reactjs - React PropTypes : At least one of these props must be provided

javascript - React Navigation如何从堆栈导航内部隐藏标签栏