【发布时间】:2019-04-26 02:38:31
【问题描述】:
TL;DR:我在一个库中有一个函数组件,它具有 react@^16.3.0 作为对等依赖项。如果我将此组件包装在 React.forwardRef 中,是否会发生重大变化?
根据forwarding Refs#Note for component library maintainers 中的 react 文档,将 ref 转发引入您的组件是一项重大更改。
我对类组件理解这一点,因为在您获得类的引用之前,现在您将获得对您转发的任何内容的引用。
然而,对于函数组件,引用从一开始就不受支持,并且会触发警告。
是否可以假设将 forwardRef 引入功能组件是一项功能而不是重大更改?
对我来说,这类似于向 API 添加新属性。之前我会得到类型错误,而现在我得到一个定义的值。总的来说,这听起来像是文档声明不存在一个功能实际上是一个功能,这意味着每个功能都是一个重大更改。
编辑:
React 作为 ^16.3.0 的对等点已经是必需的,因此我们已经可以访问 forwardRef。我们不会要求用户升级他们的 React 版本。
【问题讨论】:
-
我认为您是对的,在这种特定情况下,这只是您以前无法使用的新功能,因此我认为这里没有危险
标签: reactjs semantic-versioning