当前位置: 首页 > 文档资料 > Rax 中文文档 >

更新日志

优质
小牛编辑
132浏览
2023-12-01

项目所有的主要更新都将记录在本文档中。

[Unreleased]

  • 优化拷贝 npm 模块链路
  • 支持 createRef
  • renderProps 支持
  • 支持 forwardRef useImperativeHandle
  • 支持基于 Kbone 的运行时方案

2019-12-19

Added

Fixed

  • 修复 JSX 参数绑定的问题

Changed

  • 用户在 tabBar.items 中使用 path 参数配置路径,与 Web 端对齐,详情

2019-12-16

Added

  • 支持第三方原生小程序组件库如 Mini AntUI 的引入使用
  • 支持 class component 中使用 setState 传入回调函数
  • 支持引用 npm 包内的具体文件,如 import add from 'loadsh/fp/add';

Fixed

  • 修复在循环中使用逻辑非报错的问题
  • 修复组件生命周期 componentDidMount & shouldComponentUpdate & componentWillReceiveProps 和 Web 不对齐的问题

Changed

  • 组件的渲染及更新流程优化,避免了第一次渲染和更新渲染时可能出现的重复触发渲染的问题,性能提升 50%

2019-12-9

Added

  • 新增支持 useLayout
  • 新增支持 Typescript
  • 新增支持组件文件既导出组件也导出多个变量
  • 新增支持更随意的组件导出方式,以及可以导出函数包裹的组件,例如 export default handleComponent(TodoItem)
  • 新增支持可以在组件文件中给组件实例添加属性,例如 TodoItem.propsType = {}

Fixed

  • 修复 x-for 循环渲染中,使用逻辑非!报错的问题
  • 修复 state 更新的时候,nextStatenull 会报错的问题
  • 修复使用 if 渲染时,使用 return; 会报错的问题
  • 修复多层循环渲染中,由于索引的变量名一样导致组件状态混乱的问题
  • 修复由于小程序 onShow 的时候,当前页面栈仍是上一个页面的路由,导致页面生命周期注册错误的问题

Changed

  • 优化组件渲染逻辑,区分首次渲染和更新渲染,避免组件 render 被重复触发
  • 支持通过 if 渲染不用必须使用 {} 包裹代码块

2019-11-21

Added

  • 新增支持 useReducer
  • 新增支持 props 的值为 string 类型
  • 新增在 app.jsrunApp 函数传入第二个参数 pageProps ,开发者可以从页面级组件的 props 直接拿到 pageProps 中的变量
  • 新增在 rax-scripts 工程中开发微信小程序。已有工程需要更新依赖,然后在 build.json 中的 targets 字段中添加 wechat-miniprogram 即可无缝使用

Fixed

  • 修复某些核心 API 从 rax 中导出使用 undefined 的问题
  • 修复元素标签上属性为复杂表达式报错的问题
  • 修复开发者 Hooks API 命名冲突导致报错的问题
  • 修复开发者绑定的事件触发时第一个参数偶尔是  event 对象的问题

Changed

  • 优化 Hooks 下的渲染逻辑,尽量避免重复渲染

2019-11-15

Added

  • 新增页面级生命周期 onTitleClick 及对应 hooks 用法 useTitleClick
  • 新增支持在原生小程序项目里使用 Rax 开发的小程序组件
  • 支持在 Rax 组件级工程中使用原生小程序组件
  • 新增支持使用 import * as A from 'some-module' 的引入方式
  • 优化命令行报错时的输出信息展示,错误能够定位至具体文件
  • 添加开发模式下关闭 source map 的开关
  • 新增命令行中小程序相关包的升级提示

Fixed

  • 修复在 useEffect 中使用 require('@weex-module/xxx') 报错的问题
  • 修复循环渲染中,key 值中含有临时变量会报错的问题
  • 修复循环渲染中,data[item]item 没有被替换成动态值的问题
  • 修复在 Rax 工程中使用原生小程序组件时无法使用 npm 的问题

Changed

  • 重新设计 Rax 组件实例 id 的规则,保证实例 id 的唯一性,解决了多组件渲染状态混淆的问题

2019-11-07

Added

  • 支持微信基础组件
  • 支持循环渲染中事件绑定传参使用临时变量
  • 支持微信小程序样式
  • 支持使用 x-class
  • 支持 sass/less/stylus 等 CSS 扩展语言
  • 支持页面级生命期 hooks 用法: usePagePullDownRefresh, usePageReachBottom, usePageScroll,
    useShareAppMessage, useTabItemTap

Fixed

  • 修复微信小程序引入 npm 模块不能自动寻址 index 文件的问题
  • 修复拷贝 npm 模块的时候 modulemain 优先级的问题
  • 修复引用 Weex 模块导致报错的问题
  • 修复页面生命周期被重复注册的问题

Changed

  • 重构事件绑定的编译和运行时,支持各种常用的绑定事件方法

2019-10-24

Added

  • 生产环境支持死码删除、代码压缩
  • 开发环境支持 Source map
  • 支持逻辑表达式渲染 JSX
  • 支持通过 useRef 或 ref 属性赋值为字符串创建 ref
  • 支持路由配置时构建页面到指定端
  • 支持不拷贝 npm 包的构建模式

Fixed

  • 修复组件 usingComponents 路径解析错误的问题
  • 修复 Fragment 能力缺失的问题
  • 修复父组件更新时子组件偶发性不渲染的问题

2019-09-26

Added

  • Context 部分 API 支持

Fixed

  • 修复 tnpm 安装依赖

2019-09-19

Fixed

  • 修复多层循环渲染的问题
  • 修复循环中样式无法使用临时变量的问题
  • 修复 npm 安装依赖时版本冲突引发的文件拷贝问题

2019-09-05

Added

  • 引用的 npm 文件进行 dead code 删除

Changed

  • 长列表渲染优化

2019-08-29

Added

  • cli 中增加不需要清屏的设置
  • 支持 class component 的 render 方法中使用返回 JSX 的方法

Fixed

  • 修复构建器在转换 tnpm 安装的 scoped npm 包时路径解析错误的问题
  • 修复无法采用类似 import foo from 'xxx/lib/ccc' 的写法引入文件的问题
  • 修复 file-loader babel 解析 jsx 报错的问题

2019-08-22

Added

  • 支持微信构建

Fixed

  • 支持 tnpm 产出的 node_modules 目录
  • 修复 rax-scripts 适配的问题,增加构建默认值
  • 移除引入的 Weex 相关的包

2019-08-15

Added

  • 支持组件级别构建

2019-08-01

Added

  • 支持使用 Fragment
  • 支持循环渲染中的父子组件 props 传递

Changed

  • 重构动态变量绑定
  • 重构父子组件 props 传递实现
  • 使用 webpack 重构 cli