我无法理解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. React - 访问轮播的Ref
- 2. 什么时候React ref回调应该运行?
- 3. 什么是@ $ ref - > {@ keys}试图访问?
- 4. 什么是React中的道具?
- 5. XSD中元素的ref属性是做什么的?
- 6. 什么是Oracle的REF CURSOR在MySQL中的等价物?
- 7. 为什么都出&ref?
- 8. `&`和`ref`有什么区别?
- 9. 什么?ref = rua在Facebook上?
- 10. 关键字ref在C#中的含义是什么?
- 11. Vala中“ref”和“out”关键字的用途是什么?
- 12. 什么是在ref中弹出PersistentQueue的惯用方法?
- 13. C++中的'ref'和'sealed'关键字是什么?
- 14. 'REF'在glibc vfprintf.c中的含义是什么?
- 15. 什么是std :: ref在这个函数中有用?
- 16. 在Class :: XSAccessor中,'invalid instance method invocant:no hash ref provided'是什么意思?
- 17. 在Facebook应用程序URL中,“?ref = ts”是什么意思?
- 18. 什么是“本机”,什么不在React Native项目中?
- 19. 什么是React-Natives版本的ID?
- 20. 为什么React的组件是“组件”?
- 21. Asp.Net Core React + Redux教程或什么是React,React + Redux和ReactJs.net?
- 22. 在React上设置默认的ref值?
- 23. 为什么NUnit的Assert.That(..)有ref重载?
- 24. 为什么rval ref绑定到lval ref函数?
- 25. 这里的输入如何得到.value和什么是ref?
- 26. React&Enzyme:为什么不是beforeEach()工作?
- 27. react-native image!{imagename}是什么意思?
- 28. 什么是React ...捕获事件?
- 29. Firebase - ref和孩子有什么区别?
- 30. 什么时候通过ref关键字
它也适用于像“”这样的“原生”元素,它会反馈给你一个DOME元素,所以你可以做像getBoundingClientRect或focus()这样的事情,通常当我不得不使用它时。 – mpen