4 回答

TA貢獻1829條經驗 獲得超4個贊
console.log(this.state.boardAddModalShow)
openAddBoardModal(){ this.setState({ boardAddModalShow: true }, function () { console.log(this.state.boardAddModalShow); });}
setState
setState()
不會立即變異 this.state
但是創建一個掛起的狀態轉換。存取 this.state
調用此方法后,可能會返回現有值。不能保證同步運行對setState的調用,調用可以批處理以獲得性能增益。
他們為什么要做setState異步
這是因為setState改變了狀態并導致重命名。這可能是一項昂貴的操作,使其同步可能會使瀏覽器無法響應。
因此,setState調用是異步的,并且是批處理的,以獲得更好的UI體驗和性能。

TA貢獻1785條經驗 獲得超8個贊
openAddBoardModal(){ this.setState({ boardAddModalShow: true }, () => { console.log(this.state.boardAddModalShow) });}

TA貢獻1853條經驗 獲得超18個贊
setState()
setState()
componentDidUpdate
setState
setState(updater, callback)
setState()
shouldComponentUpdate()
shouldComponentUpdate()
setState()
(state, props) => stateChange
state
this.setState((state, props) => { return {counter: state.counter + props.step};});
添加回答
舉報