首页 > 解决方案 > 开玩笑不能在反应中转换静态

问题描述

下面的代码开玩笑失败了,我得到了unexpected token error

export default class Search extends Component {
  state = { // problem is here
    q: ''
  }

  onChange = e => {
    this.setState({
      q: e.target.value
    })
  }

  render() {
    return (
      <div>
        <input onChange={this.onChange} placeholder="search" />
      </div>
    )
  }
}

我正在使用 babel-7,我需要什么插件来开玩笑?

我正在使用开玩笑的版本 ^23.6.0

标签: javascriptreactjsjestjsbabeljs

解决方案


使用构造函数并使用以下方式定义您的状态this.state

constructor(props) {
    super(props)    
    this.state = {
        q: ''
    }
}

或使用https://www.npmjs.com/package/babel-plugin-transform-class-properties

类字段仍然是第 3 阶段提案https://github.com/tc39/proposal-class-fields


推荐阅读