Loving Tina? us on GitHub0.0k
React 19 支持
May 11, 2025
By Jack Pettit

随着 tinacms@2.7.7@tinacms/cli@1.9.7 的最新发布,TinaCMS 现在提供了对 React 19 的全面、生产就绪支持。您可以立即将项目升级到 React 19——没有阻碍,没有变通方法,也不需要等待。

为什么 React 19 支持很重要

React 19 带来了重大变化和新 API,许多团队希望采用这些以获得更好的性能、可维护性和最新功能的访问。在过去,CMS 依赖项常常阻碍 React 的升级。随着此次发布,TinaCMS 不再是障碍。您可以在适合您的项目时自由迁移到 React 19。

这对您意味着什么?

  • 对 React 项目没有重大变化。
    如果您的项目已经与 TinaCMS 一起使用并使用 React,升级到 React 19 就像更新您的依赖项一样简单。
  • 非 React 框架需要新的依赖项。
    如果您在非 React 框架(例如 Hugo 或 Eleventy)中使用 TinaCMS,您现在必须添加 reactreact-dom 作为依赖项。这是 TinaCMS 功能所必需的,即使您的网站本身不是用 React 构建的。
  • 没有新的 API 需要学习。
    升级是无缝的。您现有的 TinaCMS 设置将继续按预期工作。
  • 没有迁移步骤。
    您不需要更改任何代码或配置。

升级路径

要升级,只需更新您的依赖项:

npm install tinacms@latest @tinacms/cli@latest
# 或者
yarn add tinacms@latest @tinacms/cli@latest

TinaCMS 现在支持 reactreact-dom 版本 >=18.3.1 <20.0.0
您可以在 React 18 或 19 上运行 TinaCMS,但我们推荐使用 React 19 以获得最佳效果。

在非 React 框架中使用 TinaCMS

如果您在非 React 框架(例如 Hugo 或 Eleventy)中使用 TinaCMS,您 必须 在项目中添加 reactreact-dom 作为依赖项。TinaCMS 需要这些包才能运行,即使您的网站本身不是用 React 构建的。安装它们:

npm install react@^19 react-dom@^19
# 或者
yarn add react@^19 react-dom@^19

如果您省略这些依赖项,TinaCMS 将无法加载。

技术细节

  • reactreact-dom对等依赖 已更新以允许 React 19。这意味着 Tina 将使用您的 React 版本而不是其内部版本。
  • 内部依赖 和构建工具已更新以提高兼容性和性能。
  • 代码检查和代码质量: 所有已知问题,包括钩子违规,均已解决。

稳定性和支持

此版本已在一系列真实项目和场景中进行了测试。
如果您遇到边缘情况或意外行为,请打开一个 GitHub 问题 并提供清晰的重现步骤。我们承诺快速解决任何问题。

展望未来

我们致力于保持 TinaCMS 与最新 React 版本的兼容性,并尽可能消除升级障碍。

祝好,
TinaCMS 团队 🦙

Last Edited: May 11, 2025