反应 defaultProps null 与 undefined

React defaultProps null vs undefined

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

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

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

Button.defaultProps = {
  classN: undefined,
}

VS

Button.defaultProps = {
  classN: null,
}

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

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