2014-11-02 73 views
2

我有一個問題,我一直在整夜奮戰。我最近升級到.12,我遇到了我的孩子(ownee)組件獲得參考資料的問題。使用React JS .12,ownee怎麼知道它已經被分配了什麼

我明白ref屬性已從this.props中刪除,但我似乎無法在我的子組件中找到它!

差不多

的typeof this.ref === 「未定義」

任何想法將是巨大的!我厭倦了今晚的戰鬥。註銷。

+3

你真的真的不應該需要這樣做。 – FakeRainBrigand 2014-11-02 06:18:17

回答

-1

睡覺後發現它!使用它的主幹模型集成

this._currentElement.ref

林!

+2

你不應該這樣做 – zackify 2014-11-02 20:39:13

+0

@zackify說什麼,這裏是壞的魔咒。 – 2014-11-03 22:07:27

1

有幾個人在不同的地方評論說「你不應該這樣做」。這是無益的,因爲它不能解釋爲什麼,所以我想我會花時間這樣做。

我想不出一個好的理由,一個元素需要知道它自己的參考,這個信息被它的所有者用來與它通信。如果您確實需要了解它,據我所知,您可以將當前版本的React與this._currentElement.ref一起使用。

但是, _currentElement前綴爲下劃線的原因是因爲它是React內部的,它是一個實現細節。 React的API沒有任何保證,React的庫的任何更新都可能會破壞您可以使用當前版本(假設您更新所使用的版本)執行此操作的事實。這也意味着你不能保證this._currentElement.ref實際上是ref。這可能是50%的時間,50%的時間可能是垃圾或未定義的。你不知道,因爲它是一個實現細節,庫的實現與你無關,只有API。

所以我強烈建議你重新考慮爲什麼你需要依賴這段數據,並試着學習如何以不需要它的方式重構你的React視圖。

相關問題