Props验证使用PropTypes,React.PropTypes提供许多验证器来验证传入数据的有效性,当传入无效的数据时,JavaScript会抛出警告;为了性能考虑,
React15.5.0以后React.PropTypes 和 React.createClass提取出“prop-types”库;
安装prop-type:
npm install --save prop-types
import PropTypes from 'prop-types'; // ES6
var PropTypes = require('prop-types'); // ES5 with npm
ES5和ES6中 PropTypes使用
const propTypes = {
name: React.PropTypes.string.isRequired,
age: React.PropTypes.number.isRequired,
};
ES6使用:
import PropTypes from 'prop-types';
const propTypes = {
name: PropTypes.string.isRequired,
age: PropTypes.number.isRequired,
};
import React, { useState, memo } from 'react';
import PropTypes from 'prop-types';
const Child = (props) => {
return (
<div className="child-container">
这是子组件,内容固定,父组件更新的时候,我可以不用更新
</div>
);
}
Child.defaultProps = {
val: ""
}
Child.propTypes = {
val: PropTypes.oneOfType([PropTypes.string, PropTypes.number])
}
export default Child