react的state写在constructor和写在class属性上有什么区别吗?

class Test extends Component {
  state = {
    count:1
  }
  constructor(props){
    super(props)
    this.state = {
      count:1
    }
  }
  onClickFn = () => {
    this.setState({
      count:this.state.count+1
    })
  }
  render(){
    return (<div onClick={this.onClickFn}>{this.state.count}</div>)
  }


        <Test />
        <Test />
        <Test />

上面应该是静态属性,下面是实例属性,但是我感觉好像没什么不一样,一样用 ??谁来详细说说
写多个 静态属性也没共享

阅读 4.6k
2 个回答

如果只是取值,当然可以

如果你要设置值并展示就需要下面的 state 了

clipboard.png
对比一下 babel 的输出, 完全没区别

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题