我一直在将我的一个应用程序迁移到ES6节点/ react上,我对如何将道具传递给孩子们提出疑问。我阅读了一些帖子,有些人解决了这个问题,而其他人则没有。基本上,到目前为止我所看到的是:
export default class SomeComponent extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
<div>
{this.props.text} <<< Props used here
</div>
);
}
}
但我已经能够让我的组件使用以下内容:
export default class SomeComponent extends React.Component {
constructor() {
super(); <<< notice no props in parentheses
}
render() {
return (
<div>
{this.props.text} <<< Props used here
</div>
);
}
}
为什么我应该在括号中为我的构造函数和超级调用传递道具?或者我可以按原样保留我的代码
答案 0 :(得分:1)
除非你想在构造函数中使用this.props,否则你不需要将props传递给super。
答案 1 :(得分:0)
你必须传递道具,因为你是从React.Component扩展的,否则你将无法访问构造函数中的this.props。
这是某种组合模式。