当在没有所需道具的情况下快速失败的内部组件开发时,我觉得在测试中执行道具要求检查,并且应该从生产代码中排除propTypes的附加权重。我说的是没有用户输入且有静态道具的组件。
示例:
const Button = ({ label, onClick }) => (
<button type="button" onClick={ onClick }>{ label }</button>
);
对我来说,propTypes对于像这样的组件来说是无关的运行时代码。
答案 0 :(得分:2)
使用prop-types是一种最佳实践,但没有人强迫您使用它们。因此,如果它是一个个人项目而你不觉得需要类型,那么没有人会责怪你。
但是当您处理具有多个人的项目或库/ npm-package时,请始终使用prop-types。你的按钮现在可能不需要很多道具,但你永远不知道将来需要什么功能。一旦你意识到你的组件正在增长,并且你需要回顾性地实现prop-types,你会后悔不使用prop-types。
所以:如果你在一个小组或一个图书馆工作,总是使用道具类型。如果没有,它取决于你,但请记住,在你编写一个组件后必须实现一段时间才能实现道具类型,这可能是一个真正的痛苦。
对我来说,propTypes对于像这样的组件来说是无关的运行时代码。
对于生产代码,这就是我推荐以下babel plugin的原因。