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

标签 reactjs ecmascript-6

我在 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/

相关文章:

javascript - javascript 中的原型(prototype)继承不起作用

reactjs - 使用 Typescript 和 Redux Toolkit 后在 createAsyncThunk 函数中获取 'Object is of type unknown'

reactjs - 如何与 ReactTestRenderer/Jest 渲染的组件交互

javascript - 根据输入更改 React-Select 选项

javascript - 函数的非 ECMAscript 代码

javascript - 无法覆盖装饰器模式方法

reactjs - 你如何将泛型类型传递给 typescript tsx 文件中的匿名函数

javascript - React 使用 switch 语句有条件地显示图像不起作用

javascript - 使用 ES6 箭头函数时,D3.js 事件监听器无法访问 "this"

javascript - 基本 ES6 Javascript 插件 - 在函数之间重用变量