📅  最后修改于: 2023-12-03 14:52:59.762000             🧑  作者: Mango
在 React 中,我们可以通过给组件的 props 设置默认值来确保组件不会由于没有传入某些 props 而出现错误。声明 defaultProps 可以确保组件即使没有传入某些 props ,也能正常渲染。
声明 defaultProps 非常简单,只需在组件中定义一个静态属性 defaultProps,将要设置的默认值作为这个属性的值即可。
class MyComponent extends React.Component {
static defaultProps = {
prop1: 'default value',
prop2: 123
}
// ...
}
在声明 defaultProps 时,通常会与 propTypes 一起使用。propTypes 是用来验证传入的 props 是否符合预期,而 defaultProps 则是用来设置默认值以避免出现错误。这两者的常用语法如下:
import PropTypes from 'prop-types'
class MyComponent extends React.Component {
static propTypes = {
prop1: PropTypes.string,
prop2: PropTypes.number.isRequired
}
static defaultProps = {
prop1: 'default value',
prop2: 123
}
// ...
}
对于纯函数组件,可以通过参数默认值来达到与 defaultProps 相同的效果,例如:
function MyComponent(props) {
const { prop1 = 'default value', prop2 = 123 } = props
// ...
}