您好,登錄后才能下訂單哦!
在使用React過程中,中可以使用this.state來訪問需要的某些狀態,但是需要更新或者修改state時,一般而言,我們都會使用setState()函數,從而達到更新state的目的,setState()函數執行會觸發頁面重新渲染UI。但是!!!setState是異步的!!!
1. 語法:
setState(updater[, callback]) //
updater是要改變的state對象,callback是state導致的頁面重新渲染的回調,等價于componentDidUpdate
一般而言,在設置頁面某些state的時候,需要先設置好state,然后再對頁面的一些參數進行修改的時候,可以使用setState的回調函數。
2. 分析一下區別
不在回調中使用參數,我們在設置state后立即使用state:
this.state = {foo: 1}; this.setState({foo: 123}); console.log(this.state.foo); // 1
在回調中調用設置好的state
this.state = {foo: 2}; this.setState({foo: 123}, ()=> { console.log(foo); // 123 });
關于setState的回調函數的作用大概如此,這個函數相當于componentDidUpdate函數,和生命周期的函數類似。
3. 注意:
參考文檔:https://facebook.github.io/react/docs/react-component.html#setstate
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。