React,何时使用 propTypes
React, when to use propTypes
在开发内部组件时如果没有所需的 props 会很快失败,我觉得在测试中执行 prop 需求检查并且应该从生产代码中排除 propTypes 的增加重量。我说的是不需要用户输入且具有静态属性的组件。
示例:
const Button = ({ label, onClick }) => (
<button type="button" onClick={ onClick }>{ label }</button>
);
在我看来,propTypes 将是此类组件的无关运行时代码。
使用 prop-types 是一种最佳做法,但没有人强迫您也使用它们。所以如果这是一个个人项目,你觉得不需要道具类型,没有人会责怪你。
但是,当您与多人或 library/npm-package 一起处理一个项目时,请始终使用 prop-types。您的按钮现在可能不需要很多道具,但您永远不知道将来需要什么功能。一旦你意识到你的组件在增长,你将需要回顾性地实现 prop-types,你会后悔没有使用 prop-types。
因此:如果您与一个小组一起工作或在图书馆工作,请始终使用 prop-types。如果不是,这取决于你,但请记住,在你编写一个组件后必须在一段时间内实现 prop-types 可能是一个真正的痛苦。
Seems to me that propTypes would be extraneous runtime code for components like this.
对于生产代码,这就是我推荐以下内容的原因 babel plugin。
在开发内部组件时如果没有所需的 props 会很快失败,我觉得在测试中执行 prop 需求检查并且应该从生产代码中排除 propTypes 的增加重量。我说的是不需要用户输入且具有静态属性的组件。
示例:
const Button = ({ label, onClick }) => (
<button type="button" onClick={ onClick }>{ label }</button>
);
在我看来,propTypes 将是此类组件的无关运行时代码。
使用 prop-types 是一种最佳做法,但没有人强迫您也使用它们。所以如果这是一个个人项目,你觉得不需要道具类型,没有人会责怪你。
但是,当您与多人或 library/npm-package 一起处理一个项目时,请始终使用 prop-types。您的按钮现在可能不需要很多道具,但您永远不知道将来需要什么功能。一旦你意识到你的组件在增长,你将需要回顾性地实现 prop-types,你会后悔没有使用 prop-types。
因此:如果您与一个小组一起工作或在图书馆工作,请始终使用 prop-types。如果不是,这取决于你,但请记住,在你编写一个组件后必须在一段时间内实现 prop-types 可能是一个真正的痛苦。
Seems to me that propTypes would be extraneous runtime code for components like this.
对于生产代码,这就是我推荐以下内容的原因 babel plugin。