如何在组件外部访问react-redux存储

时间:2016-08-18 10:49:26

标签: javascript reactjs redux store

我有文件导出各种实用程序函数以跨组件使用,这些函数需要访问redux状态。如何将状态对象导入此文件?

3 个答案:

答案 0 :(得分:3)

如果您的实用程序函数不是connect元素,则

react在此处不起作用。

最好的想法是,导入创建商店,然后使用getState功能,

import store from 'store/createStore';
const state = store.getState();

答案 1 :(得分:1)

嗯,这不是一个简单的答案,但经过长时间的研究,我找到了这些,这是唯一解释任何内容的2篇文章。它们解释了如何直接在Component之外访问存储(如果必须),还提到了纯函数/函数编程原理以及将一堆非组件函数直接连接到存储的潜在性能问题。就我个人而言,我选择了@anoop并根据需要在一个对象中传递了params。

直接连接(以connect()方式从this.context获取商店,请参阅讨论here 特别是gaearon对2015年9月16日和2015年9月22日的评论。 看来这种访问可以通过connect()

来实现

有关函数式编程/纯函数的一点阅读,请参阅讨论here

答案 2 :(得分:0)

该实用程序应该将状态作为参数。

因为您想在组件(视图)中使用该实用程序,您可以将状态存储在智能组件上的成员变量中(使用{{1函数)通过​​connect()回调。 然后你可以将这个成员传递给哑组件