PropType 在任何情况下都不起作用
PropType not working in any case
我正在构建一些组件,现在正在测试它们,但我发现反应 PropTypes
没有抛出任何错误,我似乎找不到原因。
示例组件
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { Icon } from 'components';
class Test extends Component {
render() {
const { icon, position } = this.props;
console.log(icon, position);
return (
<div className='MAIN__section'>
Test app with dynamic import and resolving
<Icon icon='tags' />
</div>
);
}
}
Test.PropTypes = {
icon: PropTypes.string.isRequired,
position: PropTypes.oneOf(['left', 'right']),
className: PropTypes.string
};
export default Test;
已审案
我已将所有依赖项更新为最新版本,(my package.json
)
当我不提供 icon
或提供不是 "left" 或 "right" 的 position
道具时,不会抛出任何错误或警告。我验证 console.log(PropTypes)
.
是否正确导入了 PropTypes
感谢@ziedhajsalah 的回答。
是 componentName.propTypes = {}
,而不是 componentName.PropTypes = {}
。大写字母搞砸了。
我正在构建一些组件,现在正在测试它们,但我发现反应 PropTypes
没有抛出任何错误,我似乎找不到原因。
示例组件
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { Icon } from 'components';
class Test extends Component {
render() {
const { icon, position } = this.props;
console.log(icon, position);
return (
<div className='MAIN__section'>
Test app with dynamic import and resolving
<Icon icon='tags' />
</div>
);
}
}
Test.PropTypes = {
icon: PropTypes.string.isRequired,
position: PropTypes.oneOf(['left', 'right']),
className: PropTypes.string
};
export default Test;
已审案
我已将所有依赖项更新为最新版本,(my package.json
)
当我不提供 icon
或提供不是 "left" 或 "right" 的 position
道具时,不会抛出任何错误或警告。我验证 console.log(PropTypes)
.
感谢@ziedhajsalah 的回答。
是 componentName.propTypes = {}
,而不是 componentName.PropTypes = {}
。大写字母搞砸了。