在React中,你可以使用ES6的類屬性(class properties)或者函數組件中的默認參數(default parameters)來定義props的默認值。
1.類組件中定義默認props
對于類組件,你可以在組件內部使用defaultProps
屬性來定義默認的props值:
class MyComponent extends React.Component {render() {return <div>{this.props.name}</div>;}
}MyComponent.defaultProps = {name: 'Default Name'
};
這樣,如果name
屬性沒有被傳遞給MyComponent
,它將默認使用'Default Name'
。
2.函數組件中定義默認props
對于函數組件,你可以使用參數默認值來定義props的默認值:
function MyComponent({ name = 'Default Name' }) {return <div>{name}</div>;
}
在這個例子中,如果name
沒有被傳遞,它將默認為'Default Name'
。
3.使用React.Component
的子類
如果你在使用React.Component
作為基類來創建組件,你可以在構造函數中設置默認props:
class MyComponent extends React.Component {constructor(props) {super(props);this.state = {};}render() {return <div>{this.props.name}</div>;}
}MyComponent.defaultProps = {name: 'Default Name'
};
4.使用Hooks的函數組件
對于使用Hooks的函數組件,你仍然可以使用默認參數,也可以獲取到children:
function MyComponent({ name = 'Default Name',children="" }) {// 使用Hooks// 獲取props中的childrenreturn (<div><h2>{name}</h2><div>{childrdn}</div></div>);
}