tin*_*lyx 5 ecmascript-6 reactjs es6-class
在阵营快速启动,更说明有关Refs and Functional Components该
您不能在功能组件上使用ref属性,因为它们没有实例:
function MyFunctionalComponent() {
return <input />;
}
class Parent extends React.Component {
render() {
// This will *not* work!
return (
<MyFunctionalComponent
ref={(input) => { this.textInput = input; }} />
);
}
}
Run Code Online (Sandbox Code Playgroud)
我不完全理解上面的陈述和示例。到目前为止,功能组件和类组件之间的唯一区别在于,后者可以具有构造函数和生命周期管理函数之类的东西。
当文档说功能组件没有实例时,这意味着什么?是因为他们没有this指针吗?此限制来自于react还是ES6?
React 类组件扩展React.component了一个JS 类。它们是React.component生命周期挂钩和内部状态管理等功能的实例,并继承了React.component自身的功能。从这个意义上说,我将它们称为具有实例的组件,因为 React 将使用相同的React.component实例在其生命周期中保留组件状态。
React 函数组件只不过是 JS 函数:它们获取一组属性作为输入并输出一块虚拟 DOM。每次 React 认为生成的虚拟 DOM 可能已过时时,这些函数都会从上到下重新执行。由于普通 JS 函数在设计上不保留任何状态,因此状态持久性被委托给一些名为 hooks 的全局 React API。
| 归档时间: |
|
| 查看次数: |
865 次 |
| 最近记录: |