我知道,在渲染過程中,我可以通過引用來獲取孩子,例如,調用孩子上的函數(我可以爲此添加孩子)來確定孩子的類型。反應:如何在父級的渲染函數中檢查一個孩子的類型?
<Child ref={(child) => {this._childType = child.myFunctionToGetTheType();}} />
但在這個例子中,函數實際上不叫,直到孩子被安裝的,所以家長的render
完成後執行。
我有一個通過道具接收其子女的父組件。由於React limitations我需要在父母的render
完成執行之前以特殊方式對待特定的孩子(即從父母的render
函數返回其他內容)。
是否可以在從父母的render
函數返回之前確定孩子的類型(即不使用refs)?
我不能停滯不前不問「爲什麼你想要它?!」 :)看起來像壞設計 –
即使它設計不好,問題仍然可以問:)我已經說過爲什麼我需要這個。這是React限制的解決方法,希望在下一個版本中解決。我基本上需要替換這個https://github.com/yoonka/unigrid/blob/8e4c1f1cda4e261691f8ede921a0124fc76ff7bb/src/Unigrid.js#L197這是用來確定如何渲染一個孩子在這裏https://github.com/yoonka/ unigrid/blob/8e4c1f1cda4e261691f8ede921a0124fc76ff7bb/src/Unigrid.js#L175具有更好的解決方案,因爲當前的一個不使用官方的React API。 – Amiramix
Duno爲什麼你認爲這不是一種React方式,但我認爲通過渲染中間的ref來獲取孩子更不是反應方式,然後獲得已創建(但未渲染)孩子的類型。 –