限制&限制说明

Alita的限制分为3个方面: 小程序原生限制, Alita转化限制, React能力限制

小程序原生限制

小程序原生限制,主要是来自小程序引擎本身的限制,这些限制在使用原生小程序的时候一样存在,常见的有:

  1. 代码体积小于 2M,分包 8M
  2. 路由深度不大于5层, tab最少有两个

等等,这类限制来源于小程序引擎,是必须要遵守的。

Alita转化限制

Alita采用运行时处理JSX的技术, 解放了JSX的能力。不过,小程序平台和React天然有一些不同,另外出于潜在的性能问题的考虑,Alita采用了小程序自定义组件映射React组件的方式,这也带来了 一些Alita语法上的局限。

  1. 小程序的页面信息,配置在app.json。json文件是静态的,无法运行时生成/修改。

  2. 小程序组件引用信息定义在对应的json文件 usingComponents字段,json文件是静态的,无法运行时生成/修改。

以上关于JSON文件产生的静态限制,详细请参考

除了上面所说的,另外还有一些转化限制:

  1. 基本组件的属性展开不被支持,比如 <View {...x}/> 。但是自定义组件是支持的,比如A是一个自定义组件,那么可以 <A {...x}/>

  2. ref 必须是方法,不支持字符串

  3. 只有组件文件中定义的JSX片段才会被正确处理, 详见

  4. 谨慎使用高阶组件 详见

React能力限制

这里主要是指Alita嵌入的React与官方React区别,比如新的生命周期,Hooks,新的context等等。这些限制随着Alita的版本更新,将会得以支持

results matching ""

    No results matching ""