javascript - 有没有办法将默认值设置为所需道具的子道具?
问题描述
我想将默认值设置为size
道具,但它是必需道具的子级,所以我得到错误。除了禁用 eslint 中的规则外,还有其他解决方法吗?
static propTypes = {
widget: PropTypes.shape({
config: PropTypes.shape({
size: PropTypes.string
}).isRequired
}).isRequired,
};
static defaultProps = {
widget: PropTypes.shape({
config: PropTypes.shape({
size: 's'
})
})
}
错误
defaultProp "widget" defined for isRequired propType.eslint(react/default-props-match-prop-types)
解决方案
首先观察你可以像这样简单地设置默认值:
widget: {
config: {size: 's'}
}
其次,根据错误,没有必要为必填字段设置默认值,因为当调用者未通过defaultProps
因此,也许将widget
propTypes 设置为可选,那么错误不应该存在,但是当通过 props 传入无效形状时,形状会保持不变
推荐阅读
- reactjs - 从反应原生导航返回给我在 this.props.navigation.state.params.filePath 中未定义
- python - 如何在 Python 中可视化集群数据?
- jquery - 一个按钮做两个操作
- zend-framework - Doctrine ORM zend framework entitymanager findby multiple conditions
- git - 从分散在不同位置的文件创建 Git 存储库
- powershell - 以 kB 或 MB 为单位获取文件大小
- php - 加载外部 XML url 以供 SimpleXML 使用
- python - Python Bottle 模板引擎不允许句号
- python - 达到速率限制。睡觉:
- vue.js - 有没有办法在 vuejs 路由器中加载动态组件..?