更新日志
优质
小牛编辑
132浏览
2023-12-01
项目所有的主要更新都将记录在本文档中。
[Unreleased]
- 优化拷贝 npm 模块链路
- 支持 createRef
- renderProps 支持
- 支持
forwardRef
useImperativeHandle
- 支持基于 Kbone 的运行时方案
2019-12-19
Added
- 支持 withRouter
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
更新的时候,nextState
为null
会报错的问题
- 修复使用
if
渲染时,使用return;
会报错的问题
- 修复多层循环渲染中,由于索引的变量名一样导致组件状态混乱的问题
- 修复由于小程序
onShow
的时候,当前页面栈仍是上一个页面的路由,导致页面生命周期注册错误的问题
Changed
- 优化组件渲染逻辑,区分首次渲染和更新渲染,避免组件 render 被重复触发
- 支持通过
if
渲染不用必须使用{}
包裹代码块
2019-11-21
Added
- 新增支持
useReducer
- 新增支持
props
的值为string
类型
- 新增支持
x-slot
指令,具体用法
- 新增支持页面级配置,详见页面配置
- 新增在
app.js
的runApp
函数传入第二个参数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 模块的时候
module
和main
优先级的问题
- 修复引用 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
- 支持 JSX+ 语法
- 支持循环渲染中的父子组件 props 传递
Changed
- 重构动态变量绑定
- 重构父子组件 props 传递实现
- 使用 webpack 重构 cli