【问题标题】:What is super(props) doing for my React component?super(props) 为我的 React 组件做了什么?
【发布时间】:2017-01-24 20:05:36
【问题描述】:

我不擅长 JS 和玩 React。

位于here 的 React 文档声明如下:

在实现React.Component 子类的构造函数时,您 应该在任何其他声明之前调用super(props)。除此以外, this.props 将在构造函数中未定义,这可能导致 错误。

我的问题是这实际上是如何工作的? super() 在我的构造函数中神奇地启用了this.props 是什么?

【问题讨论】:

    标签: javascript reactjs


    【解决方案1】:

    在您提到的文档中。它是用javascript的ES6标准编码的。

    所以这个说法

    class Greeting extends React.Component
    

    表示 Greeting 继承自React.Component,调用super,实际上是调用了带有props 参数的父元素,

    如果您打算在constructor 中使用this.props,则必须致电super(props)

    希望these links 有帮助。

    【讨论】:

    • 为什么有人想在构造函数中使用this.props 而不仅仅是props
    • nvm,我知道如果你想自己修改 props,必须使用this.props 而不是props
    • @Magne 注意你不应该修改 props,因为它们是 supposed to be immutable
    • @KubaJastrz 是的,你是对的,但我只是在谈论在构造函数中设置 this.props = props,这是该规则的唯一“例外”。
    猜你喜欢
    • 2017-05-23
    • 1970-01-01
    • 2019-06-19
    • 2020-10-13
    • 2016-11-26
    • 2016-10-19
    • 2020-07-13
    相关资源
    最近更新 更多