儘可能不要直接修改state中的數據,如:html
this.state.list.splice(xxx) this.setState({ list:this.state.list })
這樣作確實能夠生效,但應該遵循immutable的原則而儘可能避免直接修改state中的數據。函數
this.setState能夠返回一個函數,也推薦你們儘可能使用函數式setstate,如:this
handleInputChange(e){ const value = e.target.value this.setState(()=>({ inputValue: value })) }
這裏注意,咱們不能直接inputValue:e.target.value,而要先作一份拷貝,再使用,不然會報錯。
tips: 函數體用()括住,表示函數體是一個直接return的對象,等同於:code
this.setState(()=>{ return { inputValue: value } })