将React编译器移植到Rust

Hacker News Top 工具

摘要

一项将React编译器移植到Rust的计划,旨在提高性能并与Rust生态系统集成。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/06/10 11:43

react/react 源码:https://github.com/react/react

React (https://react.dev/) · GitHub 许可证 (https://github.com/facebook/react/blob/main/LICENSE) npm 版本 (https://www.npmjs.com/package/react) (Runtime) 构建与测试 (https://github.com/facebook/react/actions/workflows/runtime_build_and_test.yml) (Compiler) TypeScript (https://github.com/facebook/react/actions/workflows/compiler_typescript.yml) 欢迎提交 PR (https://legacy.reactjs.org/docs/how-to-contribute.html#your-first-pull-request)

React 是一个用于构建用户界面的 JavaScript 库。

  • 声明式: React 让你能够轻松创建交互式用户界面。为应用中的每个状态设计简单的视图,当数据变化时,React 会高效地更新并渲染出正确的组件。声明式视图让代码更可预测、更易理解、也更方便调试。
  • 组件化: 构建封装了自身状态的组件,然后将它们组合成复杂的用户界面。由于组件逻辑是用 JavaScript 而非模板编写的,因此你可以轻松地在应用中传递丰富的数据,并将状态与 DOM 分离。
  • 一次学习,随处编写: 我们不对你的技术栈做其余假设,因此你可以在不重写现有代码的情况下,用 React 开发新功能。React 还可以借助 Node (https://nodejs.org/en) 在服务器端渲染,并通过 React Native (https://reactnative.dev/) 驱动移动应用。

了解如何在你的项目中使用 React (https://react.dev/learn).

安装

React 从设计之初就考虑到了逐步采纳,你可以根据需要只使用少量或大量 React 功能

  • 使用快速入门 (https://react.dev/learn) 初步体验 React。
  • 将 React 添加到现有项目 (https://react.dev/learn/add-react-to-an-existing-project),按需使用少量或大量 React 功能。
  • 创建新的 React 应用 (https://react.dev/learn/start-a-new-react-project)(如果你正在寻找强大的 JavaScript 工具链)。

文档

你可以在网站上找到 React 文档 (https://react.dev/)。请先查看入门 (https://react.dev/learn) 页面以快速了解。

文档分为以下几个部分:

  • 快速入门 (https://react.dev/learn)
  • 教程 (https://react.dev/learn/tutorial-tic-tac-toe)
  • 思考 React (https://react.dev/learn/thinking-in-react)
  • 安装 (https://react.dev/learn/installation)
  • 描述 UI (https://react.dev/learn/describing-the-ui)
  • 添加交互 (https://react.dev/learn/adding-interactivity)
  • 管理状态 (https://react.dev/learn/managing-state)
  • 高级指南 (https://react.dev/learn/escape-hatches)
  • API 参考 (https://react.dev/reference/react)
  • 获取支持 (https://react.dev/community)
  • 贡献指南 (https://legacy.reactjs.org/docs/how-to-contribute.html)

你可以通过向此仓库 (https://github.com/reactjs/react.dev) 提交拉取请求来改进文档。

示例

我们在网站上提供了几个示例 (https://react.dev/)。以下是一个入门示例:

import { createRoot } from 'react-dom/client';

function HelloMessage({ name }) {
  return <div>Hello {name}</div>;
}

const root = createRoot(document.getElementById('container'));
root.render(<HelloMessage name="Taylor" />);

这个示例将在页面上的容器中渲染“Hello Taylor”。你会注意到我们使用了类似 HTML 的语法;我们称之为 JSX (https://react.dev/learn#writing-markup-with-jsx)。使用 React 并不一定需要 JSX,但它让代码更易读,编写起来就像写 HTML 一样。

贡献

此仓库的主要目的是不断改进 React 核心,使其更快、更易用。React 的开发在 GitHub 上公开进行,我们感谢社区贡献了 bug 修复和改进。请阅读以下内容,了解如何参与改进 React。

行为准则 (https://code.fb.com/codeofconduct)

Facebook 采用了行为准则,我们希望项目参与者遵守。请阅读完整文本 (https://code.fb.com/codeofconduct),以便了解哪些行为是允许的,哪些是不被容忍的。

贡献指南 (https://legacy.reactjs.org/docs/how-to-contribute.html)

阅读我们的贡献指南 (https://legacy.reactjs.org/docs/how-to-contribute.html) 来了解我们的开发流程、如何提出 bug 修复和改进,以及如何构建和测试你对 React 的修改。

新手友好议题 (https://github.com/facebook/react/labels/good%20first%20issue)

为了帮助你入门并熟悉我们的贡献流程,我们列出了一份新手友好议题 (https://github.com/facebook/react/labels/good%20first%20issue) 列表,其中包含了范围相对有限的 bug。这是一个很好的起点。

许可证

React 采用 MIT 许可证

相似文章

我们的Rust到Zig重写进展如何

Lobsters Hottest

Roc编译器团队已将他们30万行Rust代码库重写为Zig,经过18个月实现了功能对等,生成了更小的WebAssembly二进制文件并提高了性能。

用 Rust 重写

Hacker News Top

本文评估了2026年的‘Rewrite It In Rust’运动,讨论了现实世界中的性能提升、诸如新错误和平台支持等挑战,并提倡增量重写而非完全重写。

Bun 的 Rust 重写已合并

Lobsters Hottest

Bun,JavaScript 运行时和包管理器,已合并其核心从 Zig 到 Rust 的重写,可能提升性能和可维护性。