React Native學習筆記

React 是使用ES6 ,支持JSX語法, 開發組件化web或native的工具. 現階段使用Babel工具轉換成ES5 代碼.web

組件經過props屬性傳遞不變化的內容,UI經過state屬性變更來產生變化.redux

React 一個界面框架, 數據的管理在js中比較麻煩, 容易混亂 . 有個redux庫能夠管理一個統一的數據存儲點. 一個應用只有一個Store對象,內部是一個全局可隨處訪問的變量.框架

 

Redux 的三個概念 :函數

   container, reduce, actions .工具

 

1. 建立container, container是一個包含了業務邏輯代碼, 負責數據顯示過濾和事件綁定的概念. 實際使用connect自動建立.組件化

    包括兩個方法 mapStateToProps 和mapDispatchToProps. 最後一句代碼connect(mapStateToProps,mapDispatchProps)(UIComponent),有兩個括號,第一個裏就寫這兩個定義的方法,後面的括號寫這些props要在哪一個UI組件類中使用.ui

 

2. reduce是一個可傳遞兩個參數(state,action) ,返回變化後的state的函數. 核心概念是不直接修改state值,經過Object.assign({},state,{要覆蓋的新值屬性keyvalue}) 建立新對象返回.this

3. actions 是一些functions 表示執行的動做,方法名能夠定義爲addNews,listNews,delNews這種動詞,實際直接返回一個{key:"ADD_NEWS","other":"dfdsfdsf"},除key之外能夠定義傳遞給事件處理須要的參數.spa

 

4.怎麼觸發action? 對象

 經過全局方法dispatch(action,自定義參數)觸發.

 

5.組件中的事件最好寫成closure的形式,其餘形式可能會沒法找到方法之類的,原理就是此this不是須要的this致使.

closure 寫法: 

 var clickGetUserInfo = (id)=> {

   this.refs.uiEle.text = "23421323" 

 }

 

  render() {

    <View onClick={clickGetUserInfo} ref="uiEle">

 } 

相關文章
相關標籤/搜索