跳到主要内容
新架构实战课 实操 + 基建 + 原理全维度包揽,抢先掌握 React Native 新架构精髓 立即查看 >

Creating a New Architecture App

注意

本文档内容仍处于实验阶段,内容会随着版本的迭代进行修改。您可随时在我们的工作组的讨论区发送反馈。 此外,本文档还包含了若干需手动配置的步骤,但这不代表新架构稳定版的最终开发体验。我们仍在开发相关的工具、模板和第三方库,帮助你更快地迁移到新架构上,而非从头开始配置环境。

This page will help you create a new React Native app that uses the New Architecture.

Development environment

Before continuing, make sure you've followed all the steps in Setting up the development environment, under the React Native CLI Quickstart tab.

If following the setup guide, stop when you reach the section Running your React Native Application, and resume following this guide.

caution

If you're using Expo, you can't enable the New Architecture at the moment, and will have to wait for a future release of the Expo SDK.

Creating a new application

如果你之前全局安装过旧的react-native-cli命令行工具,请使用npm uninstall -g react-native-cli卸载掉它以避免一些冲突:

npm uninstall -g react-native-cli @react-native-community/cli

If you already have your development environment set up, create a new React Native project from the template:

npx react-native init AwesomeProject
caution

The New Architecture is available in React Native version 0.68 or later.

Configuration

Follow the steps below to enable the New Architecture and build the app.

Enable Hermes

Hermes is an open-source JavaScript engine optimized for React Native. Hermes will be the default engine in the future, and we highly recommend you use it.

Please follow the instructions on the React Native website in order to enable Hermes in your application.

Enable the New Architecture

Target OS

Set the newArchEnabled property to true by either:

  • Changing the corresponding line in android/gradle.properties
  • Setting the environment variable ORG_GRADLE_PROJECT_newArchEnabled=true

Then build and run the app as usual:

yarn android
note

You may notice longer build times with the New Architecture, due to additional step of C++ compilation with the Android NDK. To improve your build time, see Speeding Up Your Build Phase.

Confirming the New Architecture is in use

After you build and run the app, when Metro serves the JavaScript bundle, you should see "fabric": true in the Metro logs:

Metro shows fabric: true

Want to know more?

If you'd like to view the code changes relevant for the New Architecture, take a look at the upgrade helper from version 0.67.4 to 0.68.0. Files that were added for the New Architecture are marked with a yellow banner.

For further explanations of what each file is doing, check out these guides to walk through the changes step-by-step:

Android

iOS