Mounting階段函數
// 組件即將掛載的生命週期函數 componentWillMount(){} // 執行渲染的函數 render(){} // 組件徹底掛載完成 表示能夠操做DOM元素的生命週期 componentDidMount(){}
組件更新的階段 觸發更新的條件是state的改變與props的改變code
// 父組件傳遞給子組件的props發生改變的時候觸發(初始化父組件的時候是不會被執行的) // 觸發條件 1.一個組件須要從父組件接收參數 就是含有props 2.只要父組件的render函數被從新執行(就是初始化的時候是不會執行的),子組件的這個生命週期就會被執行 componentWillReceiveProps(nextProps){ } // 組件更新以前會被執行 門神函數 必須返回false 或者 true shouldComponentUpdata(nextProps,nextState){ } // 組件即將更新 componentWillUpdate(nextProps,nextState){ } //渲染函數 render(){ } // 組件更新完畢 能夠獲取到更新以前的props state componentDidUpdate(prevProps,prevState){}
組件的銷燬階段component
// 組件將要被銷燬 componentWillUnmount(){ }
使用過程出現的問題生命週期
表單賦值 初始值的時候 若是裏面的表單的值有模糊搜索的狀況,就會出現裏面的值被恢復到了初始值,緣由是表單賦值的時候 咱們直接綁定的value 而不是 defaultValue 若是是defaultValue 那麼就只會出現一次賦值的狀況
// 出現這種狀況的前置條件 就是表單的初始值 是有父級經過props傳遞下去的 當父組件的state 或者 store 裏面的值改變的時候,都會觸發組件的從新渲染