当涉及到一些React组件提供的道具时,PropTypes的最佳实践是什么,例如:
由ReactRouter
这些属性是否有必要使用propTypes?
如果是props.match,我应该检查多深的属性?检查props.match是否足够,或者我是否应该检查props.match.url,如果match.url是我在特定组件中所需的全部?
谢谢
import PropTypes from 'prop-types'
class ProductsList extends Component {
constructor(props) {
super(props);
this.handleSelect = this.handleSelect.bind(this);
}
handleSelect(product_id) {
this.props.dispatch(handleAddProduct(product_id));
}
render() {
const {match, location} = this.props;
return (... JSX code goes here ....)
}
}
ProductsList.propTypes = {
match: PropTypes.object.isRequired,
location: PropTypes.object.isRequired
dispatch: PropTypes.func.isRequired
}
export default connect()(ProductsList)
发布于 2018-09-30 00:47:09
不是的。库本身使用propTypes。检查this链接
Route.propTypes = {
children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),
component: PropTypes.func,
exact: PropTypes.bool,
location: PropTypes.object,
path: PropTypes.string,
render: PropTypes.func,
sensitive: PropTypes.bool,
strict: PropTypes.bool
};
https://stackoverflow.com/questions/52570419
复制相似问题