是否可以将 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/