React PropTypes.oneOf指定枚举不起作用

Giu*_*llo 17 ecmascript-6 reactjs

我有一个问题是在react中指定'enum'类型的属性.根据这里的文档React多个组件,以下代码片段应该工作:

position : React.PropTypes.oneOf(['rightTop','rightBottom'])
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误

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 |   }
Run Code Online (Sandbox Code Playgroud)

我没有意识到哪个是错误的?也许与新的ES6语法有关?

zbr*_*rox 37

使用ES6语法,React中的propTypes应定义为静态属性.所以唯一的区别应该在propTypes声明中.

static propTypes = {
     position : React.PropTypes.oneOf(['rightTop','rightBottom']),
     showMqttClientStatus : React.PropTypes.bool.isRequired
}
Run Code Online (Sandbox Code Playgroud)