react組件通訊

react組件通訊,主要分爲如下幾種狀況react

1、父子組件,父傳子props,子傳父callback

  1. 向下傳遞

父組件給子組件傳值,經過props傳遞redux

父組件給孫子組件、曾孫等有直接或間接調用關係的組件傳值,也能夠經過props層層傳遞下去,可是這樣層級太多之後會找不到props的數據源。函數

  1. 向上傳遞

子組件向父組件傳值,經過回調函數的方式,父組件先經過props傳遞給子組件一個函數,子組件調用這個函數,本質仍是經過props傳遞。code

孫子、曾孫組件向上傳遞,同上層層調用。對象

2、沒有嵌套關係的組件通訊

  1. 找一個共同的父組件,做爲中間組件來進行值傳遞
  2. Event發佈-訂閱模式

整個項目建立一個公共的Event對象,這個對象的屬性以及方法能夠被全局調用。回調函數

3、 redux、Mobx等全局狀態管理庫

4、 react16全新context API

經過context咱們能夠直接從祖先組件獲取值,而不須要層層傳遞。class

新的contextAPI與redux的用法相似。組件通信

相關文章
相關標籤/搜索