日韩国产精品有吗在线|国产欧美综合一区二区|国产精品内射婷婷一级二|综合精品欧美日韩国产在线|亚洲国产成人久久综合野外|国产精品无码翘臀在线观看|er久99久热只有精品国产|精品少妇人妻av无码专区不卡

卓云科技
  • Rax深入淺出-基礎入門
  • TIME:2017-07-31/TYPE:卓云UED/FROM:阿里UED

    入門

    為了讓初學者更容易地理解和接受一個新框架/庫本身,而不被其它額外因素所困擾(如:redux、router)。

    本篇的開頭,選擇從最簡單的Demo – Hello Wrold說起:

    // 頂層API
    import { createElement, Component, render } from 'rax';
    // 元件引用
    import { View, Text } from 'rax-components';
    
    // 樣式定義
    const styles = {
      app: {
        flex: 1,
        alignItems: 'center',
        justifyContent: 'center'
      }
    };
    
    // 組件定義
    const HelloWorld = (props) => {
      return (
        <View style={styles.app}>
          <Text>Welcome to Rax,{ props.name }</Text>
        </View>
      );
    };
    
    // 渲染(掛載)
    render(<HelloWorld name="Lovesueee" />);
    

    本篇的開頭,選擇從最簡單的Demo – Hello Wrold說起:

    上述Demo很簡單,就像之前所說,Rax使用了React DSL/JSX,這里主要做了兩件事:

    • 定義了一個HelloWorld組件類,包含了內(nèi)聯(lián)樣式「css in js」
    • 將““標簽”渲染到頁面/容器里,這其實是一個組件實例化的過程

    與react/react-native類似,Rax同樣是由兩個庫組成:raxrax-components

    • rax – 核心渲染庫,提供了React-compatible API
    • rax-components – 輔助組件庫,更準確地說,應該是:元件,提供了UI跨平臺的能力

    所以:一般來說,基于元件編寫的復合組件,是可以同時運行在NativeWeb上的。

    差異點

    雖然Rax實現(xiàn)了大部分React-compatible API,可能出于底層需要適配Weex API以及Native性能上的一些考慮,所以在實現(xiàn)細節(jié)上,還是會有一些差別,比如:

    • 不支持createClass()方法,更推薦使用ES6 Class替代(Rax并不像React有過多的歷史包袱)
    • 向指定container node渲染時,并不會清空當前容器的子節(jié)點,而是直接采用appendChild的方式
    • setState()方法是同步的,不再支持批處理更新(batchedUpdates),而React是異步的。

    更多內(nèi)容詳見「Difference with React」。

    參考資料

    乌鲁木齐市| 八宿县| 孝感市| 灵武市| 武乡县| 嵩明县| 理塘县| 多伦县| 大埔县| 垫江县| 偃师市| 凭祥市| 武隆县| 故城县| 黎城县| 永顺县| 昭苏县| 睢宁县| 改则县| 华阴市| 台中县| 临泉县| 天等县| 远安县| 榕江县| 玉树县| 申扎县| 嘉禾县| 衢州市| 常州市| 保山市| 崇仁县| 城固县| 浪卡子县| 宜黄县| 商水县| 杭州市| 芜湖市| 平湖市| 西昌市| 大田县|