最近公司要作一個嵌套在app中的應用,考慮着用Facebook的react來開發view,因此就研究了下。下面是我在開發中遇到的坑,但願能給你幫助。html
項目地址:https://github.com/baixuexiyang/reactreact
Issue:https://github.com/baixuexiyang/react/issuesios
歡迎star和fork!git
this.state
的初始值。this.props
(使用 in
檢測屬性)。 該方法在任何實例建立以前調用,所以不能依賴於 this.props
。另外,getDefaultProps()
返回的任何複雜對象將會在實例間共享,而不是每一個實例擁有一份拷貝。github
componentWillMount:chrome
服務器端和客戶端都只調用一次,在初始化渲染執行以前馬上調用。
componentDidMount:緩存
在初始化渲染執行以後馬上調用一次,僅客戶端有效(服務器端不會調用)。
componentWillReceiveProps:服務器
在組件接收到新的 props 的時候調用。在初始化渲染的時候,該方法不會調用。
shouldComponentUpdate:app
在接收到新的 props 或者 state,將要渲染以前調用。該方法在初始化渲染的時候不會調用,在使用 forceUpdate
方法的時候也不會。測試
若是肯定新的 props 和 state 不會致使組件更新,則此處應該 返回 false
。
componentWillUpdate:
在接收到新的 props 或者 state 以前馬上調用。在初始化渲染的時候該方法不會被調用。
componentDidUpdate:
在組件的更新已經同步到 DOM 中以後馬上被調用。該方法不會在初始化渲染的時候調用。
componentWillUnmount:
在組件從 DOM 中移除的時候馬上被調用。
使用react開發,全部html都寫在js文件裏,因此開發起來不是很順暢。推薦一個chrome插件:React Developer Tools