React 19 终于把 ref 当普通 prop 传了,函数组件不用再 forwardRef 包一层。对组件库作者来说是大好事,API 简洁多了。
function Input({ ref, ...props }: { ref?: Ref<HTMLInputElement> }) {
return <input ref={ref} {...props} />;
}
但迁移有坑:
forwardRef还能用,但官方标记 deprecated 警告。- 既有组件库大改 API,可能要发 major。
- TS 类型上 ref 现在是普通可选 prop,得调类型定义。
我们组件库计划在下个 major 全切。
大家组件库都开始迁了吗?