客户端组件与 Relay 通信?

Posted

技术标签:

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

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

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

【问题讨论】:

【参考方案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 为什么不直接使用它?

以上是关于客户端组件与 Relay 通信?的主要内容,如果未能解决你的问题,请参考以下文章

React Relay 实现

yarn组件通信协议简介

使用 Apollo 客户端的片段组合:约定和样板

Renix 如何配置DHCPv4 relay场景测试——网络测试仪实操

SO Relay QueryRenderer - TypeError:this.props.render 不是函数

adnroid四大组件之Service 绑定服务,数据通信-IBinder