1. 尽量不要直接修改state中的数据,如:

    this.state.list.splice(xxx)
       this.setState({
          list:this.state.list  }) 

    这样做确实可以生效,但应该遵循immutable的原则而尽量避免直接修改state中的数据。

  1. this.setState可以返回一个函数,也推荐大家尽量使用函数式setstate,如:

    handleInputChange(e){
          const value = e.target.value
          this.setState(()=>({
              inputValue: value
          }))
    }

    这里注意,我们不能直接inputValue:e.target.value,而要先做一份拷贝,再使用,否则会报错。
    tips: 函数体用()括住,表示函数体是一个直接return的对象,等同于:

      this.setState(()=>{
        return {
           inputValue: value
        }
      })
    
  2. 在html标签上使用ref时,例如<ul ref={()=>{}}

Rageeeeee
8 声望0 粉丝