【发布时间】:2018-09-24 17:25:39
【问题描述】:
我将一个反应元素作为道具传递给另一个元素。在接收道具的子元素中,我需要为该元素设置额外的道具。
例如:
父类
class Menu Extends React.Component {
render() {
return(
<div className="Menu">
<MenuItem icon={<MdInbox />} />
<MenuItem icon={<MdDrafts />} />
<MenuItem icon={<MdTrash />} />
</div>
);
}
}
儿童班
class MenuItem Extends React.Component {
render() {
return(
<div className="MenuItem">
{this.props.icon} // I want to set the icon's size prop here
</div>
);
}
}
this.props.icon 是一个 React 元素(<MdInbox />、<MdTrash /> 等),它允许一个属性 size。我想在MenuItem 类中设置size 属性,而不是像这样从父级传递道具:<MenuItem icon={<MdInbox size={24} />}。我宁愿只在 MenuItem 类中的一个地方设置大小。
【问题讨论】:
-
React Element 是不可变的,因此你不能传递额外的 props 或在之后更改它 (reactjs.org/docs/glossary.html#elements)
标签: javascript reactjs jsx