Skip to content

Commit ab3fbb1

Browse files
committed
Clean up links and add "No CRA" note
1 parent c3b487d commit ab3fbb1

File tree

7 files changed

+33
-24
lines changed

7 files changed

+33
-24
lines changed

src/content/learn/creating-a-react-app.md

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ React can be used to build apps and websites in a variety of ways. Here's our re
1212

1313
React is flexible. You can use it to build full-stack apps with integrated client and server functionality, in standalone client apps that work with any backend or just a browser, or even add React to an existing page generated by a server.
1414

15-
We've found that most React apps have similar needs for data fetching and routing, and benefit from performance patterns like code splitting. Because of this, we primarily **[recommend using a React-based framework](#bleeding-edge-react-frameworks)** as the best way to build a React app. These frameworks provide good defaults, integrate these features, and provide room to grow your app over time. (Similarly, other UI libraries also recommend integrated frameworks - Svelte has Sveltekit, Vue has Nuxt, and Solid has SolidStart.)
15+
We've found that most React apps have similar needs for data fetching and routing, and benefit from performance patterns like code splitting. Because of this, we primarily **[recommend using a React-based framework](#recommended-react-frameworks)** as the best way to build a React app. These frameworks provide good defaults, integrate these features, and provide room to grow your app over time. (Similarly, other UI libraries also recommend integrated frameworks - Svelte has Sveltekit, Vue has Nuxt, and Solid has SolidStart.)
1616

17-
If you want a simpler setup or are learning, you can **[start from scratch](#start-from-scratch)** with a lighter project setup, and we have suggestions for common tools that will help get your app going the right way.
17+
If you want a simpler setup or are learning, you can **[start from scratch](#start-from-scratch)** with a basic project, and we have suggestions for common tools that will help get your app going the right way.
1818

1919
To learn more about the different ways to use React, see [the overview of web app architectures](/learn/web-app-architectures)
2020

@@ -30,31 +30,28 @@ If your app uses Server-Side Rendering to generate pages, you'll need to deploy
3030

3131
Note that **all of the full-stack frameworks on this page can also create standalone single-page apps that don't need an app server!** If you would like to enable features that require a server (like Server-Side Rendering), you can later opt-in on individual routes without rewriting your app, and just change how you deploy it.
3232

33-
34-
3533
</DeepDive>
3634

37-
## Recommended React frameworks {/*bleeding-edge-react-frameworks*/}
38-
39-
35+
## Recommended React frameworks {/*recommended-react-frameworks*/}
4036

4137
These recommended frameworks support all the features you need to deploy and scale your app in production. They have integrated the latest React features and take advantage of React’s architecture.
4238

4339

44-
4540
### Next.js (App Router) {/*nextjs-app-router*/}
4641

47-
**[Next.js's App Router](https://nextjs.org/docs) is a React framework that takes full advantage of React's architecture to enable full-stack React apps.**
42+
**[Next.js's App Router](https://nextjs.org/docs) is a React framework that takes full advantage of React's architecture to enable full-stack React apps.** You can [deploy a Next.js app](https://nextjs.org/docs/app/building-your-application/deploying) to any Node.js or serverless hosting, or to your own server. Next.js also supports [static export](https://nextjs.org/docs/app/building-your-application/deploying/static-exports) which doesn't require a server.
43+
44+
To create a new Next.js project, run:
4845

4946
<TerminalBlock>
5047
npx create-next-app@latest
5148
</TerminalBlock>
5249

53-
Next.js is maintained by [Vercel](https://vercel.com/). You can [deploy a Next.js app](https://nextjs.org/docs/app/building-your-application/deploying) to any Node.js or serverless hosting, or to your own server. Next.js also supports [static export](https://nextjs.org/docs/app/building-your-application/deploying/static-exports) which doesn't require a server. Vercel additionally provides opt-in paid cloud services.
50+
Next.js is maintained by [Vercel](https://vercel.com/). Vercel additionally provides opt-in paid cloud services.
5451

5552
### React Router (v7) {/*react-router-v7*/}
5653

57-
**[React Router](https://reactrouter.com/start/framework/installation) is the most popular routing library for React and can be paired with Vite to create a full-stack React framework**. It emphasizes standard Web APIs and has several [ready to deploy templates](https://github.com/remix-run/react-router-templates) for various JavaScript runtimes and platforms.
54+
**[React Router](https://reactrouter.com/start/framework/installation) is the most popular routing library for React. It can be paired with Vite to create a full-stack React framework**. It emphasizes standard Web APIs and has several [ready to deploy templates](https://github.com/remix-run/react-router-templates) for various JavaScript runtimes and platforms.
5855

5956
To create a new React Router framework project, run:
6057

@@ -66,7 +63,9 @@ React Router is maintained by [Shopify](https://www.shopify.com).
6663

6764
### Expo (for native apps) {/*expo*/}
6865

69-
**[Expo](https://expo.dev/) is a React framework that lets you create universal Android, iOS, and web apps with truly native UIs.** It provides an SDK for [React Native](https://reactnative.dev/) that makes the native parts easier to use. To create a new Expo project, run:
66+
**[Expo](https://expo.dev/) is a React framework that lets you create universal Android, iOS, and web apps with truly native UIs.** It provides an SDK for [React Native](https://reactnative.dev/) that makes the native parts easier to use.
67+
68+
To create a new Expo project, run:
7069

7170
<TerminalBlock>
7271
npx create-expo-app@latest
@@ -122,7 +121,17 @@ Server Components and Suspense are React features rather than Next.js features.
122121

123122
If you are learning React, are not using JS in your backend, only need client-side functionality, or want to design your app configuration yourself, there are other options available for starting a React project from scratch.
124123

125-
Starting from scratch gives you more flexibility, but does require that you make choices on which tools to use for routing, data fetching, and other common usage patterns. The [frameworks we recommend](#bleeding-edge-react-frameworks) have built-in solutions for these problems. If you want to choose your own solutions, we have some recommendations for commonly-used tools.
124+
Starting from scratch gives you more flexibility, but does require that you make choices on which tools to use for routing, data fetching, and other common usage patterns. The [frameworks we recommend](#recommended-react-frameworks) have built-in solutions for these problems. If you want to choose your own solutions, we have some recommendations for commonly-used tools.
125+
126+
<Note>
127+
128+
#### Should I use the legacy Create React App tool? {/*should-i-use-legacy-cra*/}
129+
130+
**No. We have officially deprecated Create React App - please _do not_ use it!** The tools recommended on this page are faster, better maintained, and provide more features.
131+
132+
For more information, see [Sunsetting Create React App](/blog/2025/02/14/sunsetting-create-react-app).
133+
134+
</Note>
126135

127136
### Install a Build Tool {/*install-a-build-tool*/}
128137

@@ -212,6 +221,8 @@ See [Web App Architectures](/learn/web-app-architectures) to learn more about po
212221

213222

214223

224+
225+
215226
-----
216227

217228
_If you’re a framework author interested in being included on this page, [please let us know](https://github.com/reactjs/react.dev/issues/new?assignees=&labels=type%3A+framework&projects=&template=3-framework.yml&title=%5BFramework%5D%3A+)._

src/content/learn/installation.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,9 @@ To try React locally on your computer, [download this HTML page.](https://gist.g
3434

3535
## Creating a React App {/*creating-a-react-app*/}
3636

37-
If you want to start a new React app, you can [create a React app](/learn/creating-a-react-app) using a recommended framework.
37+
If you want to start a new React app, you can [create a React app](/learn/creating-a-react-app#recommended-react-frameworks) using a recommended framework.
3838

39-
## Build a React Framework {/*build-a-react-framework*/}
40-
41-
If a framework is not a good fit for your project, or you prefer to start by building your own framework, you can [build your own React framework](/learn/building-a-react-framework).
39+
If a framework is not a good fit for your project, or you prefer to pick and choose your project's tools, you can [start from scratch](/learn/creating-a-react-app#start-from-scratch).
4240

4341
## Add React to an existing project {/*add-react-to-an-existing-project*/}
4442

src/content/reference/rsc/directives.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ title: Directives
44

55
<RSC>
66

7-
Directives are for use in [React Server Components](/learn/start-a-new-react-project#bleeding-edge-react-frameworks).
7+
Directives are for use in [React Server Components](/learn/start-a-new-react-project#recommended-react-frameworks).
88

99
</RSC>
1010

1111
<Intro>
1212

13-
Directives provide instructions to [bundlers compatible with React Server Components](/learn/start-a-new-react-project#bleeding-edge-react-frameworks).
13+
Directives provide instructions to [bundlers compatible with React Server Components](/learn/start-a-new-react-project#recommended-react-frameworks).
1414

1515
</Intro>
1616

src/content/reference/rsc/server-components.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: Server Components
44

55
<RSC>
66

7-
Server Components are for use in [React Server Components](/learn/start-a-new-react-project#bleeding-edge-react-frameworks).
7+
Server Components are for use in [React Server Components](/learn/start-a-new-react-project#recommended-react-frameworks).
88

99
</RSC>
1010

src/content/reference/rsc/server-functions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: Server Functions
44

55
<RSC>
66

7-
Server Functions are for use in [React Server Components](/learn/start-a-new-react-project#bleeding-edge-react-frameworks).
7+
Server Functions are for use in [React Server Components](/learn/start-a-new-react-project#recommended-react-frameworks).
88

99
**Note:** Until September 2024, we referred to all Server Functions as "Server Actions". If a Server Function is passed to an action prop or called from inside an action then it is a Server Action, but not all Server Functions are Server Actions. The naming in this documentation has been updated to reflect that Server Functions can be used for multiple purposes.
1010

src/content/reference/rsc/use-client.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ titleForTitleTag: "'use client' directive"
55

66
<RSC>
77

8-
`'use client'` is for use with [React Server Components](/learn/start-a-new-react-project#bleeding-edge-react-frameworks).
8+
`'use client'` is for use with [React Server Components](/learn/start-a-new-react-project#recommended-react-frameworks).
99

1010
</RSC>
1111

@@ -41,7 +41,7 @@ export default function RichTextEditor({ timestamp, text }) {
4141
}
4242
```
4343

44-
When a file marked with `'use client'` is imported from a Server Component, [compatible bundlers](/learn/start-a-new-react-project#bleeding-edge-react-frameworks) will treat the module import as a boundary between server-run and client-run code.
44+
When a file marked with `'use client'` is imported from a Server Component, [compatible bundlers](/learn/start-a-new-react-project#recommended-react-frameworks) will treat the module import as a boundary between server-run and client-run code.
4545

4646
As dependencies of `RichTextEditor`, `formatDate` and `Button` will also be evaluated on the client regardless of whether their modules contain a `'use client'` directive. Note that a single module may be evaluated on the server when imported from server code and on the client when imported from client code.
4747

src/content/reference/rsc/use-server.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ titleForTitleTag: "'use server' directive"
55

66
<RSC>
77

8-
`'use server'` is for use with [using React Server Components](/learn/start-a-new-react-project#bleeding-edge-react-frameworks).
8+
`'use server'` is for use with [using React Server Components](/learn/start-a-new-react-project#recommended-react-frameworks).
99

1010
</RSC>
1111

0 commit comments

Comments
 (0)