You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/content/learn/add-react-to-an-existing-project.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,6 +24,7 @@ Here's how we recommend to set it up:
24
24
2.**Specify `/some-app` as the *base path*** in your framework's configuration (here's how: [Next.js](https://nextjs.org/docs/app/api-reference/config/next-config-js/basePath), [Gatsby](https://www.gatsbyjs.com/docs/how-to/previews-deploys-hosting/path-prefix/)).
25
25
3.**Configure your server or a proxy** so that all requests under `/some-app/` are handled by your React app.
26
26
27
+
<<<<<<< HEAD
27
28
<<<<<<< HEAD
28
29
<<<<<<< HEAD
29
30
This ensures the React part of your app can [benefit from the best practices](/learn/creating-a-react-app#full-stack-frameworks) baked into those frameworks.
@@ -33,6 +34,9 @@ This ensures the React part of your app can [benefit from the best practices](/l
33
34
=======
34
35
This ensures the React part of your app can [benefit from the best practices](/learn/build-a-react-app-from-scratch#consider-using-a-framework) baked into those frameworks.
35
36
>>>>>>> e07ac94bc2c1ffd817b13930977be93325e5bea9
37
+
=======
38
+
This ensures the React part of your app can [benefit from the best practices](/learn/build-a-react-app-from-scratch#consider-using-a-framework) baked into those frameworks.
39
+
>>>>>>> e9a7cb1b6ca1659b42d81555ecef0cd554b7a983
36
40
37
41
Many React-based frameworks are full-stack and let your React app take advantage of the server. However, you can use the same approach even if you can't or don't want to run JavaScript on the server. In that case, serve the HTML/CSS/JS export ([`next export` output](https://nextjs.org/docs/advanced-features/static-html-export) for Next.js, default for Gatsby) at `/some-app/` instead.
Copy file name to clipboardExpand all lines: src/content/learn/synchronizing-with-effects.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -732,6 +732,7 @@ Writing `fetch` calls inside Effects is a [popular way to fetch data](https://ww
732
732
733
733
This list of downsides is not specific to React. It applies to fetching data on mount with any library. Like with routing, data fetching is not trivial to do well, so we recommend the following approaches:
734
734
735
+
<<<<<<< HEAD
735
736
<<<<<<< HEAD
736
737
<<<<<<< HEAD
737
738
- **If you use a [framework](/learn/creating-a-react-app#full-stack-frameworks), use its built-in data fetching mechanism.** Modern React frameworks have integrated data fetching mechanisms that are efficient and don't suffer from the above pitfalls.
@@ -741,6 +742,9 @@ This list of downsides is not specific to React. It applies to fetching data on
741
742
=======
742
743
- **If you use a [framework](/learn/start-a-new-react-project#full-stack-frameworks), use its built-in data fetching mechanism.** Modern React frameworks have integrated data fetching mechanisms that are efficient and don't suffer from the above pitfalls.
743
744
>>>>>>> e07ac94bc2c1ffd817b13930977be93325e5bea9
745
+
=======
746
+
- **If you use a [framework](/learn/start-a-new-react-project#full-stack-frameworks), use its built-in data fetching mechanism.** Modern React frameworks have integrated data fetching mechanisms that are efficient and don't suffer from the above pitfalls.
747
+
>>>>>>> e9a7cb1b6ca1659b42d81555ecef0cd554b7a983
744
748
- **Otherwise, consider using or building a client-side cache.** Popular open source solutions include [React Query](https://tanstack.com/query/latest), [useSWR](https://swr.vercel.app/), and [React Router 6.4+.](https://beta.reactrouter.com/en/main/start/overview) You can build your own solution too, in which case you would use Effects under the hood, but add logic for deduplicating requests, caching responses, and avoiding network waterfalls (by preloading data or hoisting data requirements to routes).
745
749
746
750
You can continue fetching data directly in Effects if neither of these approaches suit you.
Copy file name to clipboardExpand all lines: src/content/learn/typescript.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,6 +20,7 @@ TypeScript is a popular way to add type definitions to JavaScript codebases. Out
20
20
21
21
## Installation {/*installation*/}
22
22
23
+
<<<<<<< HEAD
23
24
<<<<<<< HEAD
24
25
<<<<<<< HEAD
25
26
All [production-grade React frameworks](/learn/creating-a-react-app#full-stack-frameworks) offer support for using TypeScript. Follow the framework specific guide for installation:
@@ -29,6 +30,9 @@ All [production-grade React frameworks](/learn/start-a-new-react-project#full-st
29
30
=======
30
31
All [production-grade React frameworks](/learn/start-a-new-react-project#full-stack-frameworks) offer support for using TypeScript. Follow the framework specific guide for installation:
31
32
>>>>>>> e07ac94bc2c1ffd817b13930977be93325e5bea9
33
+
=======
34
+
All [production-grade React frameworks](/learn/start-a-new-react-project#full-stack-frameworks) offer support for using TypeScript. Follow the framework specific guide for installation:
Copy file name to clipboardExpand all lines: src/content/learn/you-might-not-need-an-effect.md
+8Lines changed: 8 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,6 +26,7 @@ There are two common cases in which you don't need Effects:
26
26
***You don't need Effects to transform data for rendering.** For example, let's say you want to filter a list before displaying it. You might feel tempted to write an Effect that updates a state variable when the list changes. However, this is inefficient. When you update the state, React will first call your component functions to calculate what should be on the screen. Then React will ["commit"](/learn/render-and-commit) these changes to the DOM, updating the screen. Then React will run your Effects. If your Effect *also* immediately updates the state, this restarts the whole process from scratch! To avoid the unnecessary render passes, transform all the data at the top level of your components. That code will automatically re-run whenever your props or state change.
27
27
***You don't need Effects to handle user events.** For example, let's say you want to send an `/api/buy` POST request and show a notification when the user buys a product. In the Buy button click event handler, you know exactly what happened. By the time an Effect runs, you don't know *what* the user did (for example, which button was clicked). This is why you'll usually handle user events in the corresponding event handlers.
28
28
29
+
<<<<<<< HEAD
29
30
<<<<<<< HEAD
30
31
<<<<<<< HEAD
31
32
You *do* need Effects to [synchronize](/learn/synchronizing-with-effects#what-are-effects-and-how-are-they-different-from-events) with external systems. For example, you can write an Effect that keeps a jQuery widget synchronized with the React state. You can also fetch data with Effects: for example, you can synchronize the search results with the current search query. Keep in mind that modern [frameworks](/learn/creating-a-react-app#full-stack-frameworks) provide more efficient built-in data fetching mechanisms than writing Effects directly in your components.
@@ -35,6 +36,9 @@ You *do* need Effects to [synchronize](/learn/synchronizing-with-effects#what-ar
35
36
=======
36
37
You *do* need Effects to [synchronize](/learn/synchronizing-with-effects#what-are-effects-and-how-are-they-different-from-events) with external systems. For example, you can write an Effect that keeps a jQuery widget synchronized with the React state. You can also fetch data with Effects: for example, you can synchronize the search results with the current search query. Keep in mind that modern [frameworks](/learn/start-a-new-react-project#full-stack-frameworks) provide more efficient built-in data fetching mechanisms than writing Effects directly in your components.
37
38
>>>>>>> e07ac94bc2c1ffd817b13930977be93325e5bea9
39
+
=======
40
+
You *do* need Effects to [synchronize](/learn/synchronizing-with-effects#what-are-effects-and-how-are-they-different-from-events) with external systems. For example, you can write an Effect that keeps a jQuery widget synchronized with the React state. You can also fetch data with Effects: for example, you can synchronize the search results with the current search query. Keep in mind that modern [frameworks](/learn/start-a-new-react-project#full-stack-frameworks) provide more efficient built-in data fetching mechanisms than writing Effects directly in your components.
41
+
>>>>>>> e9a7cb1b6ca1659b42d81555ecef0cd554b7a983
38
42
39
43
To help you gain the right intuition, let's look at some common concrete examples!
40
44
@@ -765,6 +769,7 @@ This ensures that when your Effect fetches data, all responses except the last r
765
769
766
770
Handling race conditions is not the only difficulty with implementing data fetching. You might also want to think about caching responses (so that the user can click Back and see the previous screen instantly), how to fetch data on the server (so that the initial server-rendered HTML contains the fetched content instead of a spinner), and how to avoid network waterfalls (so that a child can fetch data without waiting for every parent).
767
771
772
+
<<<<<<< HEAD
768
773
<<<<<<< HEAD
769
774
<<<<<<< HEAD
770
775
**These issues apply to any UI library, not just React. Solving them is not trivial, which is why modern [frameworks](/learn/creating-a-react-app#full-stack-frameworks) provide more efficient built-in data fetching mechanisms than fetching data in Effects.**
@@ -774,6 +779,9 @@ Handling race conditions is not the only difficulty with implementing data fetch
774
779
=======
775
780
**These issues apply to any UI library, not just React. Solving them is not trivial, which is why modern [frameworks](/learn/start-a-new-react-project#full-stack-frameworks) provide more efficient built-in data fetching mechanisms than fetching data in Effects.**
776
781
>>>>>>> e07ac94bc2c1ffd817b13930977be93325e5bea9
782
+
=======
783
+
**These issues apply to any UI library, not just React. Solving them is not trivial, which is why modern [frameworks](/learn/start-a-new-react-project#full-stack-frameworks) provide more efficient built-in data fetching mechanisms than fetching data in Effects.**
784
+
>>>>>>> e9a7cb1b6ca1659b42d81555ecef0cd554b7a983
777
785
778
786
If you don't use a framework (and don't want to build your own) but would like to make data fetching from Effects more ergonomic, consider extracting your fetching logic into a custom Hook like in this example:
Copy file name to clipboardExpand all lines: src/content/reference/react-dom/client/createRoot.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -209,6 +209,7 @@ When your HTML is empty, the user sees a blank page until the app's JavaScript c
209
209
<div id="root"></div>
210
210
```
211
211
212
+
<<<<<<< HEAD
212
213
<<<<<<< HEAD
213
214
<<<<<<< HEAD
214
215
This can feel very slow! To solve this, you can generate the initial HTML from your components [on the server or during the build.](/reference/react-dom/server) Then your visitors can read text, see images, and click links before any of the JavaScript code loads. We recommend [using a framework](/learn/creating-a-react-app#full-stack-frameworks) that does this optimization out of the box. Depending on when it runs, this is called *server-side rendering (SSR)* or *static site generation (SSG).*
@@ -218,6 +219,9 @@ This can feel very slow! To solve this, you can generate the initial HTML from y
218
219
=======
219
220
This can feel very slow! To solve this, you can generate the initial HTML from your components [on the server or during the build.](/reference/react-dom/server) Then your visitors can read text, see images, and click links before any of the JavaScript code loads. We recommend [using a framework](/learn/start-a-new-react-project#full-stack-frameworks) that does this optimization out of the box. Depending on when it runs, this is called *server-side rendering (SSR)* or *static site generation (SSG).*
220
221
>>>>>>> e07ac94bc2c1ffd817b13930977be93325e5bea9
222
+
=======
223
+
This can feel very slow! To solve this, you can generate the initial HTML from your components [on the server or during the build.](/reference/react-dom/server) Then your visitors can read text, see images, and click links before any of the JavaScript code loads. We recommend [using a framework](/learn/start-a-new-react-project#full-stack-frameworks) that does this optimization out of the box. Depending on when it runs, this is called *server-side rendering (SSR)* or *static site generation (SSG).*
Copy file name to clipboardExpand all lines: src/content/reference/react-dom/client/index.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,7 @@ title: Client React DOM APIs
4
4
5
5
<Intro>
6
6
7
+
<<<<<<< HEAD
7
8
<<<<<<< HEAD
8
9
<<<<<<< HEAD
9
10
The `react-dom/client` APIs let you render React components on the client (in the browser). These APIs are typically used at the top level of your app to initialize your React tree. A [framework](/learn/creating-a-react-app#full-stack-frameworks) may call them for you. Most of your components don't need to import or use them.
@@ -13,6 +14,9 @@ The `react-dom/client` APIs let you render React components on the client (in th
13
14
=======
14
15
The `react-dom/client` APIs let you render React components on the client (in the browser). These APIs are typically used at the top level of your app to initialize your React tree. A [framework](/learn/start-a-new-react-project#full-stack-frameworks) may call them for you. Most of your components don't need to import or use them.
15
16
>>>>>>> e07ac94bc2c1ffd817b13930977be93325e5bea9
17
+
=======
18
+
The `react-dom/client` APIs let you render React components on the client (in the browser). These APIs are typically used at the top level of your app to initialize your React tree. A [framework](/learn/start-a-new-react-project#full-stack-frameworks) may call them for you. Most of your components don't need to import or use them.
0 commit comments