React Naive生命周期.png
getDefaultProps
- 用于初始化一些默認的屬性,通常會將固定的內容放在這個函數中進行初始化和賦值
- 在組件中,可以利用this.props獲取在這里初始化它的屬性,由于組件初始化后,再次使用該組件不會調用getDefaultProps函數,所以組件自己不可以修改props(即:props可認為是只讀的),只可由其他組件調用它時在外部修改
constructor(props) / getInitialState()
- 該函數是用于對組件的一些狀態進行初始化
- 由于該函數不同于getDefaultProps,在以后的過程中,會再次調用,所以可以將控制控件的狀態的一些變量放在這里初始化,如控件上顯示的文字,可以通過this.state來獲取值,通過this.setState來修改state值
- 注意在新的RN中getInitialState()被constructor(props)替代了
componentWillMount
- 在組件將要被加載在視圖上之前調用,功能相對較少
render
- render是一個組件中必須有的方法,返回JSX或其他組件來構成DOM
- 注意:只能返回一個頂級元素
- 在render函數中,只可通過this.state和this.props來訪問在之前函數中初始化的數據值 。
componentDidMount
- 組件加載成功并被成功渲染出來以后,一般會在這個函數中處理網絡請求等加載數據的操作和一些耗時操作可以放在此方法中
存在期階段函數功能分析
- componentWillReceiveProps
指父元素對組件的props或state進行了修改 - shouldComponentUpdate
一般用于優化,可以返回false或true來控制是否進行渲染 - componentWillUpdate
組件刷新前調用,類似componentWillMount - componentDidUpdate
更新后的相關操作
componentWillUnmount
- 頁面銷毀方法,用于清理一些無用的內容和定時器