我想知道你是否可以用更简洁的方式编写以下代码:
class MyComponent extends Component {
static propTypes = {
foo: PropTypes.string.isRequired,
bar: PropTypes.string,
};
static defaultProps = {
bar: '',
};
这样的事情:
class MyComponent extends Component {
static propTypes = {
foo: PropTypes.string.isRequired,
bar: [PropTypes.string, ''],
};
或者这个:
class MyComponent extends Component {
static propTypes = {
foo: PropTypes.string.isRequired,
bar: PropTypes.string(''),
};
答案 0 :(得分:1)
不,使用当前的实现,你不能。
PropTypes是开发/测试运行时目的所需的(https://facebook.github.io/react/blog/2017/04/07/react-v15.5.0.html#migrating-from-react.proptypes),默认值将是最终构建的一部分。
未来,反应团队计划将PropTypes与React包的其余部分分开。
如果他们感兴趣,您可以建议联系反应团队。