如何传递?
-
可以分开传,可以针对不同的属性,在组件上传递(注意花括号的问题);
-
props传递,把参数对象使用props的方式传递。
子组件读取与属性默认值
{ 分开传参 }
function Avatar({ person, size }) {
// person and size are available here
}
{ props传参 }
function Avatar(props) {
let person = props.person;
let size = props.size;
}
{ }
function Profile(props) {
return (
<div className="card">
<Avatar {...props} />
</div>
);
}
{ 传递JSX }
function Card({ children }) {
return (
<div className="card">
{children}
</div>
);
}
组件内的属性不是静止的,组件可能会随着时间的推移接收不同的属性。组件总是从父级接受
PS:(props 是 不可变的 - 计算机科学中的一个术语,意思是 “不可修改的”。当组件需要更改其属性时(例如,响应用户交互或新数据),它必须对其父组件进行 “询问” 才能向其传递不同的属性- 一个新对象!它的旧属性将被丢弃,最终 JavaScript 引擎将回收它们占用的内存。)
具有 children 属性的组件视为具有 “空缺”,而 “空缺” 可以被其具有任意 JSX 的父组件 “填补”。你将经常使用 children 属性作为可视封装器:面板、网格等