我在 react 中指定“enum”类型的属性时遇到问题。根据此处的文档 React multiple components 以下代码片段应该有效:
position : React.PropTypes.oneOf(['rightTop','rightBottom'])
但是我收到以下错误
ERROR in ./app/components/mqttComponents/mqttPresence.jsx
Module build failed: SyntaxError:/Users/giuseppe/Projects/sw-director/app/components/mqttComponents/mqttPresence.jsx: Unexpected token (68:36)
66 | propTypes : {
67 | //position: React.PropTypes.string.isRequired,
> 68 | position : React.PropTypes.oneOf(['rightTop','rightBottom']),
^
69 | showMqttClientStatus : React.PropTypes.bool.isRequired,
70 | mqtt: React.PropTypes.object
71 | }
我不知道哪个错误?也许与新的 ES6 语法有关?
最佳答案
使用 ES6 语法,React 中的 propTypes 应该定义为静态属性。所以唯一的区别应该是 propTypes 声明。
static propTypes = {
position : React.PropTypes.oneOf(['rightTop','rightBottom']),
showMqttClientStatus : React.PropTypes.bool.isRequired
}
关于reactjs - React PropTypes.oneOf 指定枚举不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37919224/