是否可以将redux状态映射到常规javascript函数而不是React组件?
如果没有,还有其他方法可以将redux状态连接到函数吗?(显然没有明确地将其作为参数传递)
我尝试连接到一个函数,但是会中断(我没有确切的错误消息。服务器只是碰到uncaughtException)。由于React组件可以是纯函数,因此connect()仅适用于class ComponentName extends Component和(或类似函数)吗?
connect()
class ComponentName extends Component
我想做这样的事情的原因:
我有一个redux动作生成器,如果它发现动作的结果已经处于redux状态,我希望该生成器跳过做API调用,但是我不想每次API调用都必须从每个容器中明确检查状态。这有意义吗?
感谢您的任何想法。
connect()附带的react-redux软件包是Redux的React绑定。但是,如果你想用平常的JavaScript Redux的状态互动,你不需要任何connect()或react- redux为。您可以store使用其API直接与Redux 进行交互。
react-redux
react- redux
store
例如,如果您想听操作,则可以使用subscribe()如下方法,并使用getState()method访问state。
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";