答案 0 :(得分:1)
是的,您可以在此处使用redux与组件A通信,而无需使用父组件。将数据从组件B传递到动作创建者,然后该动作创建者将动作分派给reducer。 reducer将返回可以从组件A访问的状态(现在保存数据)。您需要将A和B都连接到redux存储。
假设您希望组件A中的“数据”也可以在组件B中访问。
class A extends React.Component{
//call this.props.actionCreator and pass it the data
}
export default connect(null, actionCreators)(A)
动作创建者接收数据,将其包装在一个动作中,然后分派给reducer。 reducer返回数据,该数据成为状态的一部分。
class B extends React.Component{
//We can access data as this.props.data here
}
function mapDispatchToProps(state) {
return {data: state.LoginReducer.data};
}
export default connect(mapDispatchToProps, actionCreators)(B)
然后,我们在mapDispatchToProps中指定所需的状态,并将其传递给连接帮助器。连接帮助器使数据作为组件B中的this.props.data可用。
我希望我解释得足够好。
答案 1 :(得分:1)
如果您不想将状态提升到父级,那么redux
或Context API
都是不错的选择,但是,如果您尚未使用redux
然后在您的项目中建议使用Context API
,
Context Provider