React Props是从一个 React 组件传递到另一个(组件层次结构向下)的只读参数。
假设您有两个组件 - App 和 List。然后,在 App 内部,我们有一个包含开发人员信息的列表。如果我们想将数组传递给 List 组件,我们会做这样的事情 ( <List list={developers} />
)
import React from 'react';
const App = () => {
const developers= [
{
id: 1,
name: 'Randy'
},
{
id: 2,
name: 'Tiago Peres'
},
];
return (
<div>
<h1>Developers in StackOverflow</h1>
<List list={developers} />
</div>
);
};
const List = props =>
props.list.map(item => (
<div key={item.id}>
<span>{item.name}</span>
</div>
));
export default App;
这将是结果
使用它,我们不需要在全局范围内拥有太多信息。
如果您想了解更多信息,我建议您阅读Robin Wieruch 的一篇很棒的文章。
要了解您提到的具体案例,必须了解一些 React 基础知识以及 ECMAScript 6 (ES6)。基于W3Schools 的 React 教程中的内容,
- 使用类继承创建的类会继承另一个类的所有方法。
- 要创建类继承,我们使用
extends
关键字。
- 您正在创建一个名为的类
MyClass
,它将继承Component
该类的方法。
- 类的属性在
constructor()
方法内部分配
- 初始化对象时会自动调用构造函数。
- 该
super()
方法引用父类,因此执行父组件的构造函数。
- 如果组件具有构造函数,则应该始终将 props 传递给构造函数,并通过该
super()
方法传递给 React.Component。
super(props)
将调用Component
传入 props 作为参数的构造函数。
- 虽然您很可能只使用
super()
,但使用super(props)
ensurethis.props
甚至在构造函数退出之前就已设置。
- 即使在您的情况下该
state
对象只有message
属性,您也可以拥有任意数量的属性。
- 您可以
this.state.message
在组件中的任何位置使用。