回顾 React Conf 2021
2021 年 12 月 17 日 Jesslyn Tannady 与 Rick Hanlon
上周,我们举办了第六届 React Conf。在以往的几年中,我们在 React Conf 的舞台上发布了行业改变的信息,如 React Native 和 React Hooks。今年,我们从发布 React 18 和逐步采用并发功能开始,分享了我们对 React 的多平台愿景。
这是 React Conf 首次在线举办,并且免费直播,并翻译成 8 种不同的语言。来自世界各地的参与者参加了我们的会议 Discord 和针对所有时区都可访问的重播活动。超过 50000 人注册,19 场演讲总共有超过 60000 次观看,Discord 平台上两个活动共有 5000 名参与者。
所有的演讲都可以 在线播放。
以下是大会分享内容的摘要:
React 18 和并发特性
在主题演讲中,我们分享了从 React 18 开始对未来 React 的愿景。
在没有引入任何重大的破坏性变化的情况下,React 18 添加了期待已久的并发渲染器和对 Suspense 的更新。应用程序可以升级到 React 18 并开始逐步采用并发功能,其工作量与任何其他主要版本相当。
这意味着没有并发模式,只有并发功能。
在主题演讲中,我们还分享了对 Suspense、服务器组件、新 React 工作组的愿景,以及对 React Native 的长期多平台愿景。
请在此处观看 Andrew Clark、Juan Tejada、Lauren Tan 和 Rick Hanlon 的完整主题演讲:
面向应用程序开发人员的 React 18
在主题演讲中,我们还宣布 React 18 RC 现已可供试用。在等待进一步的反馈之前,这是我们将于明年初发布稳定版的 React 版本。
要尝试 React 18 RC,请升级你的依赖项:
npm install react@rc react-dom@rc
并切换到新的 createRoot API:
// 切换前
const container = document.getElementById('root');
ReactDOM.render(<App />, container);
// 切换后
const container = document.getElementById('root');
const root = ReactDOM.createRoot(container);
root.render(<App/>);
有关升级到 React 18 的演示,请参阅 Shruti Kapoor 的演讲:
Suspense 串流服务端渲染
React 18 还包括使用 Suspense 对服务端渲染性能的改进。
串流服务端渲染允许你从服务器上的 React 组件生成 HTML,并将该 HTML 流式传输给用户。在 React 18 中,你可以使用 Suspense 将应用程序分解为更小的独立单元,这些单元可以彼此独立地进行流式传输,而不会阻塞应用程序的其余部分。这意味着用户将更快地看到你的内容,并能够更快地开始与之交互。
如需深入了解,请参阅 Shaundai Person 的演讲:
第一个 React 工作组
对于 React 18,我们创建了第一个工作组,与专家、开发人员、库维护人员和教育工作者小组合作。我们共同制定了逐步采用策略并完善了新的 API,例如 useId、useSyncExternalStore 和 useInsertionEffect。
有关这项工作的概述,请参阅 Aakansha’ Doshi 的演讲:
React 开发者工具
为了支持此版本中的新功能,我们还宣布了新成立的 React DevTools 团队和新的 Timeline Profiler,以帮助开发人员调试他们的 React 应用程序。
有关新 DevTools 功能的更多信息和演示,请参阅 Brian Vaughn 的演讲:
没有 memo 的 React
展望未来,Xuan Huang (黄玄) 分享了我们的 React Labs 对自动记忆编译器的研究的更新。查看此演讲以获取更多信息和编译器原型的演示:
React 文档主题演讲
Rachel Nabors 开始了有关 React 学习和设计的部分演讲,并发表了关于我们对 React 新文档(现已作为 React.dev 发布)的投入的主题演讲:
以及更多
我们还听到了有关使用 React 进行学习和设计的演讲:
- Debbie O’Brien: Things I learnt from the new React docs.
- Sarah Rainsberger: Learning in the Browser.
- Linton Ye: The ROI of Designing with React.
- Delba de Oliveira: Interactive playgrounds with React.
来自 Relay、React Native 和 PyTorch 团队的演讲:
- Robert Balicki: Re-introducing Relay.
- Eric Rozell and Steven Moyes: React Native Desktop.
- Roman Rädle: On-device Machine Learning for React Native
社区中关于可访问性、工具和服务器组件的演讲:
- Daishi Kato: React 18 for External Store Libraries.
- Diego Haz: Building Accessible Components in React 18.
- Tafu Nakazaki: Accessible Japanese Form Components with React.
- Lyle Troxell: UI tools for artists.
- Helen Lin: Hydrogen + React 18.
感谢
这是我们自己策划会议的第一年,我们要感谢很多人。
首先,感谢所有演讲者 Aakansha Doshi,、 Andrew Clark、Brian Vaughn、Daishi Kato、Debbie O’Brien、Delba de Oliveira、Diego Haz、Eric Rozell、Helen Lin、Juan Tejada、Lauren Tan、Linton Ye、Lyle Troxell、Rachel Nabors、Rick Hanlon、Robert Balicki、Roman Rädle、Sarah Rainsberger、Shaundai Person、Shruti Kapoor、Steven Moyes、Tafu Nakazaki 和 Xuan Huang (黄玄)。
感谢所有为会谈提供反馈的人,包括 Andrew Clark、Dan Abramov、Dave McCabe、Eli White、Joe Savona、 Lauren Tan、Rachel Nabors 和 Tim Yung。
感谢 Lauren Tan 组织了 Discord 会议并担任我们的 Discord 管理员。
感谢 Seth Webster 对总体方向的反馈,并确保我们专注于多样性和包容性。
感谢 Rachel Nabors 领导我们的审核工作,感谢 Aisha Blake 创建我们的审核指南、领导我们的审核团队、培训翻译人员和审核人员以及帮助审核这两项活动。
感谢我们的会议主席 Jesslyn Tannady、Suzie Grange、Becca Bailey、Luna Wei、Joe Previte、Nicola Corti、Gijs Weterings、Claudio Procida、Julia Neumann、Mengdi Chen、Jean Zhang、Ricky Li 和 Xuan Huang (黄玄)。
感谢来自 React India 的 Manjula Dube、Sahil Mhapsekar 和 Vihang Patel,以及来自 React China 的 Jasmine Xie、QiChang Li 和 YanLun Li 帮助主持我们的重播活动并保持其对社区的吸引力。
感谢 Vercel 发布了会议网站所基于的 虚拟活动入门套件,并感谢 Lee Robinson 和 Delba de Oliveira 分享了他们举办 Next.js Conf 的经验。
感谢 Leah Silber 分享她举办会议的经验、从举办 RustConf 中学到的知识,以及她的书 《事件驱动》 及其包含的关于举办会议的建议。
感谢 Kevin Lewis 和 Rachel Nabors 分享了她们举办 Women of React Conf 的经验。
感谢 Aakansha Doshi、Laurie Barth、Michael Chan 和 Shaundai Person 在整个规划过程中提供的建议和想法。
感谢 Dan Lebowitz 帮助设计和构建会议网站和门票。
感谢 Laura Podolak Waddell、Desmond Osei-Acheampong、Mark Rossi、Josh Toberman 以及 Facebook 视频制作团队的其他人员录制了主题演讲和 Meta 员工演讲的视频。
感谢我们的合作伙伴 HitPlay 帮助组织会议、编辑直播中的所有视频、翻译所有演讲以及以多种语言主持 Discord。
最后,感谢所有参与者让本次 React Conf 变得精彩!