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 框架需要新的依赖项。
    如果您将 TinaCMS 与非 React 框架(例如 Hugo 或 Eleventy)一起使用,您现在必须添加 reactreact-dom 作为依赖项。这是 TinaCMS 正常工作所必需的,即使您的网站本身不是用 React 构建的。
  • 无需学习新的 API。
    升级是无缝的。您现有的 TinaCMS 设置将继续按预期工作。
  • 无需迁移步骤。
    您不需要更改任何代码或配置。

升级路径

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

npm install tinacms@latest @tinacms/cli@latest
# or
yarn add tinacms@latest @tinacms/cli@latest

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

将 TinaCMS 与非 React 框架一起使用

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

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

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

技术细节

  • Peer dependencies 中的 reactreact-dom 已更新为允许 React 19。这现在意味着 Tina 将使用您的 React 版本而不是其内部版本。
  • 内部依赖项和构建工具已更新以实现兼容性和性能。
  • 代码检查和代码质量: 所有已知问题,包括 hook 违规,都已得到解决。

稳定性和支持

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

展望未来

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

此致, TinaCMS 团队 🦙

Last Edited: May 11, 2025