迁移指南到 v3

这是一个将您的应用程序升级到 Semantic UI React v3 的参考。

想将您的应用程序升级到 v2 吗?
迁移指南到 Semantic UI React 可在 此处 获取。

原生 ref 支持

风险:低

此更改可被视为改进。如果您没有在 Semantic UI React 组件上使用 `ref`,您将不会受到影响。

v3 中的主要变化是对 组件的原生 ref 的支持,以避免使用 已弃用的 ReactDOM.findDOMNode()。这意味着 `ref` 属性可用于获取对基础 DOM 元素的引用,而不是对 React 组件实例的引用。

例如,您可以使用 `ref` 获取对 Button 组件的基础 DOM 元素的引用

Semantic UI React v3 中的所有组件都支持原生 ref 转发。

关于 ButtonInputTextArea 的说明

ButtonInputTextArea 在其类实例上实现了一些方法,例如 focus()blur()。但是,现在您将获得对基础 DOM 元素的引用,而不是对 React 组件实例的引用。您应该能够直接在 DOM 元素上调用这些方法,而不会出现任何问题。

删除 Ref 组件

风险:高

如果您使用 Ref 组件,您将受到影响。

由于原生 ref 支持,Ref 组件不再需要,并且已被删除,因为它使用了已弃用的 API。

由于我们导出了 Ref 组件,并在我们将其移出到单独的包 (@semantic-ui-react/component-ref) 中时推荐其使用。这意味着您已经可以在 v2 和 v3 中使用它,以使升级更加平滑。

@semantic-ui-react/component-ref 被视为已弃用的包,我们不打算维护它,因此请考虑迁移。它也不会收到与 React 中已弃用 API 的使用相关的修复程序。

有关此更改的更多详细信息,请参阅 Semantic-Org/Semantic-UI-React#4286

删除 Visibility 组件

风险:高

如果您使用 Visibility 组件,您将受到影响。

主要原因是性能远不如原生 API。我们建议直接使用 Intersection Observer API 或通过 React 包装器使用,例如:react-intersection-observer

由于它不是一个直接的替代方案,可能会导致采用问题,因此我们将其移出到单独的包 (@semantic-ui-react/component-visibility) 中。这意味着您已经可以在 v2 或即将发布的 v3 中使用它

@semantic-ui-react/component-visibility 被视为已弃用的包,我们不打算维护它,因此请考虑迁移。它也不会收到与 React 中已弃用 API 的使用相关的修复程序。

有关此更改的更多详细信息,请参阅 Semantic-Org/Semantic-UI-React#4257

删除 Transition 组件上的静态属性

风险:微不足道

这些属性从未在文档中引用,也不建议使用。

Transition 组件上的一些静态属性已被删除

这些属性不应在公共 API 中使用,但它仍然是一个重大更改。

由以下机构提供闪电般快速的部署: Vercel.