reactjs - 当传递“null”时,React PropTypes defaultProps 不起作用
问题描述
我有一个案例,我将多个属性传递给一个组件。道具来自 wordpress,所以我无法影响传递的确切内容 - 值总是带有“null”。
但是,我希望在传递“null”时采用 defaultProp 值。
我需要通过组件本身以某种方式解决这个问题......有没有办法?
https://codesandbox.io/embed/proptypes-in-react-forked-g29oy?fontsize=14&hidenavigation=1&theme=dark
解决方案
仅当您未根据需要标记道具时才使用默认道具
这也是一个 eslint 规则
当你标记为必填时,你确定道具会通过,所以没有理由拥有defaultProps
MyComponent.propTypes = {
firstName: PropTypes.string,
};
MyComponent.defaultProps = {
firstName: "John Doe"
};
或者
MyComponent.propTypes = {
firstName: PropTypes.string.isRequired,
};
此外,当您将 props 传递为 null 时,意味着 prop 的变量没有引用到任何实际值,这相当于不传递它。
推荐阅读
- mongodb - Mongodb查询以查找数组中包含重复字段的所有文档
- dolphindb - 可以订阅本地流媒体吗?
- azure - 引入时的 Azure 数据资源管理器逻辑
- java - 检查扫描的文件是否有字母数组中的字母,并将出现次数计数到另一个数组
- javascript - 在服务器端 javascript 上集成 CSS 的方法是什么?
- webmethods - 输入列表 Web 方法的流程步骤
- python - 无法在离线 CentOS7 服务器中安装 mysqlclient 并显示错误消息“此平台上不受支持的轮子”
- c++ - sfml 不再编译
- android - 构建 apk 发布时将 Gif 文件大小调整为 0
- python - 在scala中进行日期到字符串转换的字符串插值