【问题标题】:React defaultProps null vs undefinedReact defaultProps null vs undefined
【发布时间】:2020-06-22 03:57:51
【问题描述】:

假设我们有一个名为 Button 的组件和一个名为 classN 的属性,这不是必需的。

Button.propTypes = {
  classN: PropTypes.string,
};

将该属性的 defaultProps 定义为 null 或 undefined 有什么区别?

Button.defaultProps = {
  classN: undefined,
}

VS

Button.defaultProps = {
  classN: null,
}

【问题讨论】:

  • 你试过了吗?
  • 除了一个为空,另一个为未定义外,没有区别。
  • 这取决于您想如何使用该道具。
  • 是的,我已经尝试过了,但没有发现差异,但是这两个选项可能会导致应用程序的行为不同。
  • 这是添加到您帖子中的有用信息。它表明您已尝试自己找到答案,并阐明了您到底在寻找什么。

标签: reactjs react-proptypes


【解决方案1】:

@fjplaurr 我需要回答,因为我没有资格发表评论。 默认情况下,属性是未定义的。所以这一切都取决于你如何在代码中使用属性。 如果您检查一个属性是否未定义,那么您将进行不同的检查,如果是空检查,则会说 if property!=null。 我相信 Should I set default react properties to null 可能有助于在两者之间选择最好的。

【讨论】:

    【解决方案2】:

    null 值设置为 props 可以是有意的,并用于指示生命周期逻辑。添加到@hemant-kumar 的评论中,默认道具默认为undefined,可用于指示尚未设置但将要设置的值。

    this question

    【讨论】:

      猜你喜欢
      • 2018-09-10
      • 2021-03-30
      • 2019-02-26
      • 1970-01-01
      • 2017-02-19
      • 2019-06-03
      • 2018-04-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多