对日期对象进行 React 道具验证

Posted

技术标签:

【中文标题】对日期对象进行 React 道具验证【英文标题】:React prop validation for date objects 【发布时间】:2017-01-30 08:28:07 【问题描述】:

目前在 react 中验证 Date 属性的首选方法是什么?

现在我正在使用:React.PropTypes.object

然而,这现在不符合forbid-prop-types lint 规则。我应该使用shape 还是有更好的方法?

【问题讨论】:

【参考方案1】:

很确定你可以使用PropTypes.instanceOf(Date)

【讨论】:

是的,做到了!不知道我是如何在docs 中错过的。 很可能在facebook.github.io/react/docs/typechecking-with-proptypes.html中有描述 @jlouzado 你可能已经知道你要做什么了,但这是一个选项:npmjs.com/package/react-moment-proptypes 最重要的是,如果它适合你,它就适合你。您的解决方案可能是最佳解决方案。也就是说,在很多情况下,我更喜欢包而不是我自己的解决方案,因为编写包的人几乎总是比我更有信心编写和维护解决方案的能力,而且它将认知负担转移到包维护者身上.现在,如果由于某种原因instanceOf 解决方案停止工作,则包将更有可能被更新而不是您自己的代码。但是,同样,如果它对你有用,它对你有用。 @RiverTam 为了错误的安全感而依赖另一个依赖项并不是一个好主意。特别是对于像instanceOf 这样简单的东西,考虑到它不是 OP 自己的解决方案,它是库的一部分。即它在github上维护。不需要使用 2 个库来使用它的一个功能。

以上是关于对日期对象进行 React 道具验证的主要内容,如果未能解决你的问题,请参考以下文章

在 React.js 中进行道具验证时道具类型失败

道具验证中缺少 React eslint 错误

如何在 ReactJS 中验证嵌套对象的 PropTypes?

无法从异步提交验证中的道具获取错误值

ReactJS:如何根据道具的值对对象数组进行排序?

问题将Redux与来自React的父道具连接起来