另一个组件如何监听react / redux中的另一个组件操作?

时间:2017-12-01 01:59:31

标签: reactjs react-redux redux-thunk

假设组件 A 需要知道另一个组件是否调度了一个动作而返回响应来自于通过redux-thunk异步调用API,组件如何 A 听取这个动作并对回复做些什么?

或者,无论是父组件还是子组件,任何组件如何监听其他组件分派调用?如果那是有道理的。

我刚刚学习 React / Redux 几个月只是为了给你一个见解。

非常感谢任何建议。

3 个答案:

答案 0 :(得分:2)

只要它们连接到您的状态树,换句话说就是您的redux存储,您可以从任何组件侦听已分派的操作。但请确保组件应连接到州/商店的完全相同的部分。

答案 1 :(得分:0)

感谢下面的Ketan,它给了我一个想法,在商店中建立一个州

action:{type:'ACTION_WHATEVER',payload:{} }

无论何时调用某个操作,它都会将其基础状态更改为操作名称及其有效负载。

组件现在可以调用componentWillReceivePropsshouldComponentUpdate并检查操作对象的类型和有效负载。

答案 2 :(得分:0)

很抱歉,如果我在这里遗漏了一些内容,但你可以使用" subscribe" Redux中的方法,可以从任何组件中侦听Redux存储中的任何更改。它接受一个监听器回调函数,只要存储状态发生变化就会调用该函数。这两个来源解释得很好:) https://egghead.io/lessons/react-redux-store-methods-getstate-dispatch-and-subscribe https://redux.js.org/docs/api/Store.html#subscribe