【发布时间】:2016-06-11 03:54:57
【问题描述】:
在 react-relay 应用程序中,我需要根据主要内容组件的状态更改我的 sidenav 组件。
它是用于客户端组件通信的简单全局存储吗?使用虚拟突变并反弹是否可以,或者我应该将我的状态保持在最不常见的父母中?
【问题讨论】:
在 react-relay 应用程序中,我需要根据主要内容组件的状态更改我的 sidenav 组件。
它是用于客户端组件通信的简单全局存储吗?使用虚拟突变并反弹是否可以,或者我应该将我的状态保持在最不常见的父母中?
【问题讨论】:
如果您使用 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 值,两个组件都会共享它。
【讨论】: