是否可以将redux状态映射到常规javascript函数而不是React组件?
如果没有,是否有另一种方法将redux状态连接到函数? (显然没有明确地将其作为参数传递)
我已尝试连接到某个函数,但它中断了(我没有确切的错误消息。服务器只是遇到了uncaughtException)。由于React组件可以是纯函数,connect()
只适用于class ComponentName extends Component
(等等)吗?
我想做这样的事情:
我有一个redux动作生成器,如果发现动作的结果已经处于redux状态,我希望生成器跳过执行API调用,但是我不希望每个容器都明确地检查状态单api电话。这有意义吗?
感谢任何想法。
答案 0 :(得分:14)
connect()
附带react-redux
包,它是Redux的React绑定。但是,如果您想使用常规JavaScript与Redux状态进行交互,则不需要connect()
或react-redux
。您可以直接与Redux store
及其get_bloginfo进行互动。
例如,如果您想听取操作,可以使用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";
答案 1 :(得分:0)
假设你有一个动作。只需添加一些标记 - 减速器将检测是否跳过:
DateTime.ParseExact