我試圖從一個子組件攔截用戶活動,然後更新它的一個兄弟姐妹的狀態。 例如在Reactjs中組件之間進行交互的最佳方式是什麼?
-RootApp
--Child1 (has user interaction e.g. onClick)
--Child2 (needs data from Child1 to update state)
我的解決方案(我覺得這相當不可思議)是我傳給Child1回調從RootApp。當用戶做onClick on child1回調被調用。回撥RootApp然後更新爲Child2定義的道具。 Child2被重新渲染。
我正在做這個對嗎?
是的,父組件更新子組件的標準方式是將回調傳遞給子視圖。所以在你的情況下,'Child1'需要告訴'RootApp'在'Child1'中發生一些交互時改變它的狀態。將該狀態從'RootApp'傳遞給'Child2',並且'Child2'將在其狀態變化的任何道具時重新呈現 – trekforever 2014-10-16 17:51:19
非常感謝。很高興看到我在正確的軌道上。 – 2014-10-17 08:30:59