2016-02-28 76 views
0

內部react-relay應用程序我需要根據主要內容組件的狀態來更改我的sidenav組件。與Relay的客戶端組件通信?

它是客戶端組件通信的簡單全局存儲嗎?可以使用虛擬變異並反彈嗎?還是應該將我的狀態保持在最不共同的父親身上?

回答

1

如果使用Redux,則可以將應用程序與全局狀態關聯。然後可以通過將相同的道具傳遞給它們來設置這兩個組件。

讓說你定義你的應用程序。在渲染你應該有這樣的:

render() { 
     const {myValue} = this.props; 
     return (<div> 
       <MyFirstComponent propValue={myValue}/> 
       <MySecondComponent propValue={myValue}/> 
       </div> 
     ); 
} 

然後在應用

App.propTypes = { 
    myValue: PropTypes.object 
}; 

function mapStateToProps(state) { 
     return { 
      myValue: state.myReducer.myValue 
     } 
} 

export default connect(mapStateToProps)(App) 

每次結束時,你派遣一個行動,這將返回myvalue的兩個部件的更新值將是分享。

+0

謝謝Theo。我熟悉Redux,並且問如何用relay.js做同樣的事情。我多次聽說FB本身使用助焊劑和繼電器,所以我應該也這樣做。 Thx – Svitlana

+0

那麼redux標籤的關係是什麼? – Theo

+0

最初,以GetMeTheHellBackToRedux?結尾的問題,但它已被編輯刪除:-) – Svitlana