es6反应在子组件中获取道具

时间:2016-04-26 15:31:28

标签: reactjs ecmascript-6

我一直在将我的一个应用程序迁移到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>
        );
    }
}

为什么我应该在括号中为我的构造函数和超级调用传递道具?或者我可以按原样保留我的代码

2 个答案:

答案 0 :(得分:1)

除非你想在构造函数中使用this.props,否则你不需要将props传递给super。

https://stackoverflow.com/a/34995257/3238350

答案 1 :(得分:0)

你必须传递道具,因为你是从React.Component扩展的,否则你将无法访问构造函数中的this.props。

这是某种组合模式。