【问题标题】:Client component communication with Relay?客户端组件与 Relay 通信?
【发布时间】:2016-06-11 03:54:57
【问题描述】:

在 react-relay 应用程序中,我需要根据主要内容组件的状态更改我的 sidenav 组件。

它是用于客户端组件通信的简单全局存储吗?使用虚拟突变并反弹是否可以,或者我应该将我的状态保持在最不常见的父母中?

【问题讨论】:

    标签: reactjs redux relayjs


    【解决方案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 值,两个组件都会共享它。

    【讨论】:

    • 谢谢你,西奥。我对 Redux 很熟悉,我问过如何用 relay.js 做同样的事情。我多次听说 FB 本身使用通量和继电器,所以我可能也应该这样做。谢谢
    • 那么redux标签的关系是什么?
    • 最初,问题以 GetMeTheHellBackToRedux? 结尾,但被编辑删除了 :-)
    • 为什么你必须使用一项技术,因为其他人正在使用它?我猜 FB 使用通量和继电器是有充分理由的。你知道 Redux 为什么不直接使用它?
    猜你喜欢
    • 1970-01-01
    • 2015-02-22
    • 1970-01-01
    • 1970-01-01
    • 2021-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多