我無法理解React中的參考文獻。我明白這是一個回調函數,你把它放在渲染函數中,但除此之外,我不明白它是什麼以及它的目的是什麼。React中的ref是什麼?
0
A
回答
5
參考文獻是一種讓您獲得處理回到您創建的組件的方法。
即。
<Text ref={(component)=>{this.textComponent = component}} > Here is some Text</Text>
然後在後面的代碼,你可以通過做訪問您的文字:
this.textComponent
這將使你然後在面向對象的方式對組件調用功能。
我只想指出,React/React-Native使用聲明性編程範例,其中數據和「控制」通過屬性的自上而下通過管理。而在命令式風格中,您處理對象和指針,並將它們傳遞給它們以便調用它們上的函數。在這種情況下,Refs是一個逃生艙口,它允許你獲得一個聲明的組件,這樣你就可以以一種命令式的風格調用它們的功能。
看到官方文件做出反應的裁判: https://reactjs.org/docs/refs-and-the-dom.html
0
陣營具有處理兒童典型方式。它以自頂向下的方式使用props
。而要修改孩子,你必須用新的道具重新渲染。但有些情況下,您想修改/處理此典型流程之外的孩子。在這些情況下,你使用refs。
REF是,需要一個回調的屬性並且每當組件安裝或卸載此回調被調用。可以將Refs添加到這兩個dom元素或組件。示例:
return (
<div>
<input
type="text"
// ref to a dom element
ref={(input) => { this.textInput = input; }} />
</div>
);
return (
<MyComponent
// ref to a MyComponent(child component)
ref={(component) => { this.childComponent = component; }}
{...props}
/>
);
無論何時裝載組件,都會使用dom元素或子組件實例調用ref回調。並且每當該組件被卸載時調用null
。現在
可以使用this.textInput
或this.childComponent
並調用它的不同的可用方法。
可以僅向DOM元素或類組件提供參考。它們不適用於功能組件。例如:
function MyFunctionalComponent(props) {
return <input type="text" />;
}
return (
<MyFunctionalComponent
// This won't work
ref={(component) => { this.childComponent = component; }}
{...props}
/>
);
參考文獻應在其絕對必要的,因爲他們給你的DOM元素/組件直接訪問的前提下使用。
相關問題
- 1. 什麼是Facebook上的ref = br_tf?
- 2. React - 訪問輪播的Ref
- 3. 什麼時候React ref回調應該運行?
- 4. 什麼是@ $ ref - > {@ keys}試圖訪問?
- 5. 什麼是React中的道具?
- 6. React中的「Prop」究竟是什麼?
- 7. 使用'ref'作爲React中的數組
- 8. 什麼是AsyncStorage(react-native)?
- 9. java spring bean中constructor-arg中ref的用法是什麼?
- 10. React原生形式ref空
- 11. 什麼是Oracle的REF CURSOR在MySQL中的等價物?
- 12. XSD中元素的ref屬性是做什麼的?
- 13. 什麼?ref = rua在Facebook上?
- 14. `&`和`ref`有什麼區別?
- 15. 爲什麼都出&ref?
- 16. 'REF'在glibc vfprintf.c中的含義是什麼?
- 17. C++中的'ref'和'sealed'關鍵字是什麼?
- 18. 關鍵字ref在C#中的含義是什麼?
- 19. 考慮到Git,ref/for /中的Git引用是什麼?
- 20. Vala中「ref」和「out」關鍵字的用途是什麼?
- 21. 什麼是在ref中彈出PersistentQueue的慣用方法?
- 22. Asp.Net Core React + Redux教程或什麼是React,React + Redux和ReactJs.net?
- 23. 爲什麼React的組件是「組件」?
- 24. 什麼是React-Natives版本的ID?
- 25. React Router的用途是什麼?
- 26. 什麼是「本機」,什麼不在React Native項目中?
- 27. 在React上設置默認的ref值?
- 28. 在Facebook應用程序URL中,「?ref = ts」是什麼意思?
- 29. 在Class :: XSAccessor中,'invalid instance method invocant:no hash ref provided'是什麼意思?
- 30. 什麼是std :: ref在這個函數中有用?
它也適用於像「」這樣的「原生」元素,它會反饋給你一個DOME元素,所以你可以做像getBoundingClientRect或focus()這樣的事情,通常當我不得不使用它時。 – mpen