Inside react-relay app我需要根据主要内容组件的状态更改sidenav组件。
是客户端组件通信的简单全局存储吗?是否可以使用虚拟变异并反弹,或者我应该将我的状态保持在最不常见的父母身上?
答案 0 :(得分:1)
如果您使用Redux,则可以将应用程序与全局状态连接。然后,可以通过将相同的道具传递给它们来设置两个组件。
假设您定义了自己的应用。在渲染中你应该有类似的东西:
render() {
const {myValue} = this.props;
return (<div>
<MyFirstComponent propValue={myValue}/>
<MySecondComponent propValue={myValue}/>
</div>
);
}
然后在App的末尾
App.propTypes = {
myValue: PropTypes.object
};
function mapStateToProps(state) {
return {
myValue: state.myReducer.myValue
}
}
export default connect(mapStateToProps)(App)
每当您发送一个将返回myValue更新值的操作时,两个组件都将共享它。