贝利信息

javascript如何实现默认属性_ defaultprops怎么用

日期:2025-12-16 00:00 / 作者:幻影之瞳
defaultProps是React类组件的静态属性,用于为undefined的props提供默认值;函数组件应使用解构赋值默认参数替代,且二者不可混用。

在 JavaScript 中,defaultProps 是 React 类组件(Class Component)中用于定义组件默认 props 的一种方式。它只对类组件有效,函数组件不支持 defaultProps(现代写法推荐用解构赋值 + 默认参数替代)。

defaultProps 是什么?

defaultProps 是一个静态属性(static property),你把它定义在类组件上,React 会在组件接收的 props 缺失对应字段时,自动补上你设定的默认值。

注意:它只在 props 为 undefined 时生效,如果传了 null0、空字符串等“falsy 值”,defaultProps 不会覆盖。

怎么写 defaultProps?

写法很简单,在类定义后直接加:

class Button extends React.Component {
  render() {
    return ;
  }
}

Button.defaultProps = {
  text: '点击我',
  onClick: () => console.log('默认点击')
};

这样,如果调用 没传 textonClick,就会用上面的默认值。

函数组件怎么设默认 props?

函数组件不用 defaultProps,直接在参数里用解构 + 默认值更清晰、更推荐:

function Button({ text = '点击我', onClick = () => console.log('默认点击') }) {
  return ;
}

常见误区和注意事项

基本上就这些。用函数组件的话,记住用解构默认值就行;写类组件时,defaultProps 还能用,但已不是主流推荐方式。