返回介绍

从 Rax 0.x 升级

发布于 2019-12-26 23:51:15 字数 3153 浏览 1320 评论 0 收藏 0

从 Rax 0.x 升级为 Rax 1.x,需要注意以下事项:

render 变更

import { createElement, render } from 'rax';
import UniversalDriver from 'driver-universal';
...
// 需在 render 方法中指定 Driver 进行渲染
render(<App />, document.body, { driver: UniversalDriver });

style 变更

style 不再内置支持数组格式

<View style={[a, b, c]}>
// 需替换为
<View style={{...a, ...b, ...c}}>
// 或者
<View style={Object.assign({}, a, b, c)}>

能力升级

您可以继续使用类组件(Class Component),同样也可以使用具有 Hooks API 的函数组件(Function Component)。

使用可参考 Hooks

核心 API 变更

为了减小 Rax 的体积,让开发者更加专注与 Hooks 的开发方式。Rax 将部分 API 从 Core 中移了出来。这并非代表功能的缺失,我们仍然可以通过引入独立包的方式使用它们。

比如 findDOMNode:

import findDOMNode from 'rax-find-dom-node';
findDOMNode(component);

我们移除的 API 如下,更多详细使用方式请参考 《API 参考》

包名说明
rax-children获取 Children 节点
rax-proptypesprops 验证器
rax-is-valid-element验证对象是否为 Rax 元素
rax-clone-element克隆并返回新的 Rax 元素
rax-create-factory返回用于生成指定类型 Rax 元素的函数
rax-create-portal将子元素渲染到 DOM 组件层次结构之外的 DOM 节点中
rax-hydrate渲染内容时保留已有 DOM 结构,并补充事件绑定
rax-find-dom-node访问真实 DOM 节点
rax-unmount-component-at-node从 DOM 中移除已装载的 Rax 组件
rax-set-native-props直接更改原生组件的属性件

样式单位变更

  • 不在对 rem 单位相对 750 进行计算处理,同时新增 rpx 单位代替原先的 rem
<View style={{ width: '300rem' }}>
// 需替换为
<View style={{ width: '300rpx' }}>
  • lineHeight 与 w3c 标准对齐,不在默认按 750 相对单位计算
<View style={{ lineHeight: 30}}>
// 需替换为
<View style={{ lineHeight: '30rpx' }}>

组件废弃

  • rax-touchable 废弃
<Touchable style={...} onPress={...}></Touchable>
// 需替换为
<View style={...} onClick={...}></View>
  • rax-picker, rax-button, rax-switch 废弃,@rax-ui 库会替代这些

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文