2015-09-28 20 views
2

我有一個頁面,我正在創建八個音頻播放器,全部來自同一個React類。在React.js中選擇組件的所有實例

我使用onclick()處理程序來啓動和停止每個播放器的音頻。

我的問題是,玩家可能同時玩。

我想在我的組件點擊處理程序中選擇同一類的所有其他組件,並阻止它們,也許使用.each()方法。

什麼是React這樣做的方法?

+0

它的'可能',但不建議。 React組件只能通過道具進行交互。使用一個回叫共享父母,然後傳播道具給所有玩家,並從共享父母控制它 –

+0

這取決於結構如何。你可以使用事件或觸發器,屬性,'refs' ...,https://facebook.github.io/react/tips/expose-component-functions.html – WiredPrairie

回答

2

最React類似的方式來做到這一點將是包含所有的音頻播放器在父組件。如果兩個組件的狀態相互影響,則應將該狀態移到最近的共同父組件中。