我有一个文件,它导出了各种实用程序函数以跨组件使用,而这些函数需要访问redux状态。我如何将状态对象导入到这个文件中?
m4pnthwp1#
如果你的实用函数不是react元素,那么connect在这里不起作用。最好的办法是,导入创建存储,然后使用getState函数,
react
connect
getState
import store from 'store/createStore'; const state = store.getState();
xytpbqjk2#
好吧,这不是一个简单的答案,但是在研究了很长时间之后,我发现了这些,这是仅有的两篇解释任何事情的文章。(如果必须的话),同时也要提到纯函数/函数式编程哲学,以及将一堆非组件函数直接连接到存储的潜在性能问题。我使用@anoop,并根据需要在单个对象中传递参数。对于直接连接(它以connect()的方式从this.context获取商店),请参阅讨论here,特别是gaearon在2015年9月16日和2015年9月22日的评论。似乎可以通过connect()实现此访问。有关函数式编程/纯函数的一些阅读,请参阅讨论here
piv4azn73#
该实用程序应将状态作为参数获取。因为你想在组件(视图)中使用这个工具,你可以通过mapStateToProps(state)回调将状态存储在你的 * 智能组件 *(使用connect()函数的组件)的成员变量中。然后你可以将这个成员传递给你的 * 哑组件 *。
mapStateToProps(state)
connect()
guz6ccqo4#
你好,这篇文章晚了,请看看我下面的代码。谢谢
import { store } from "../../../redux/store"; // getting data from redux const state = store.getState(); //i am fetching estimator data const data = state.valuemodel.estimatorData;
4条答案
按热度按时间m4pnthwp1#
如果你的实用函数不是
react
元素,那么connect
在这里不起作用。最好的办法是,导入创建存储,然后使用
getState
函数,xytpbqjk2#
好吧,这不是一个简单的答案,但是在研究了很长时间之后,我发现了这些,这是仅有的两篇解释任何事情的文章。(如果必须的话),同时也要提到纯函数/函数式编程哲学,以及将一堆非组件函数直接连接到存储的潜在性能问题。我使用@anoop,并根据需要在单个对象中传递参数。
对于直接连接(它以connect()的方式从this.context获取商店),请参阅讨论here,特别是gaearon在2015年9月16日和2015年9月22日的评论。似乎可以通过connect()实现此访问。
有关函数式编程/纯函数的一些阅读,请参阅讨论here
piv4azn73#
该实用程序应将状态作为参数获取。
因为你想在组件(视图)中使用这个工具,你可以通过
mapStateToProps(state)
回调将状态存储在你的 * 智能组件 *(使用connect()
函数的组件)的成员变量中。然后你可以将这个成员传递给你的 * 哑组件 *。guz6ccqo4#
你好,这篇文章晚了,请看看我下面的代码。谢谢