類型檢查
-
defaultProps
默認(rèn)屬性值 -
propTypes
限制接收的屬性類別(僅在開發(fā)模式中檢測(cè))
基本寫法
import PropTypes from 'prop-types';
class Greeting extends React.Component {
render() {
return (
<h1>Hello, {this.props.name}</h1>
);
}
}
Greeting.propTypes = {
name: PropTypes.string
};
使用 `isRequired' 鏈接上述任何一個(gè)障涯,以確保在沒有提供 prop 的情況下顯示警告。
defaultProps 設(shè)置默認(rèn)屬性
//類型檢測(cè)
TodoItem.propTypes = {
content: PropTypes.string,
deleteItem: PropTypes.func,
index: PropTypes.number,
// 你可以使用 `isRequired' 鏈接上述任何一個(gè),以確保在沒有提供 prop 的情況下顯示警告杂穷。
test: PropTypes.string.isRequired
}
//設(shè)置默認(rèn)值
TodoItem.defaultProps = {
test: '科比布萊恩特'
}
- 某種類型之一
// 一個(gè)對(duì)象可以是多種類型其中之一
optionalUnion: PropTypes.oneOfType([
PropTypes.string,
PropTypes.number,
PropTypes.instanceOf(Message)
]),
props鸟废,state與render函數(shù)的關(guān)系
- 當(dāng)組件的state或者props發(fā)生改變時(shí)猜敢,render函數(shù)就會(huì)重新執(zhí)行(自身)
- 當(dāng)父組件的render函數(shù)執(zhí)行時(shí),它的子組件的render都將被重新執(zhí)行