Skip to content

Commit 5527664

Browse files
authored
Sync with react.dev @ 2859efa (#1166)
This PR was automatically generated. Merge changes from [react.dev](https://github.com/reactjs/react.dev/commits/main) at 2859efa The following files have conflicts and may need new translations: * [ ] [.github/workflows/discord_notify.yml](/reactjs/react.dev/commits/main/.github/workflows/discord_notify.yml) * [ ] [.github/workflows/label_core_team_prs.yml](/reactjs/react.dev/commits/main/.github/workflows/label_core_team_prs.yml) * [ ] [src/content/reference/react-dom/hooks/index.md](/reactjs/react.dev/commits/main/src/content/reference/react-dom/hooks/index.md) Please fix the conflicts by pushing new commits to this pull request, either by editing the files directly on GitHub or by checking out this branch. ## DO NOT SQUASH MERGE THIS PULL REQUEST! Doing so will "erase" the commits from main and cause them to show up as conflicts the next time we merge.
2 parents c1474b5 + 5d3c9c8 commit 5527664

16 files changed

+536
-25
lines changed

Diff for: .prettierignore

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
**/*.md
1+
src/content/**/*.md

Diff for: eslint.config.mjs

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import mark from 'eslint-plugin-mark';
2+
3+
export default [
4+
{
5+
ignores: ['**/*.js', '**/*.mjs', '**/*.cjs'],
6+
},
7+
{
8+
...mark.configs.baseGfm,
9+
files: ['src/content/**/*.md'],
10+
rules: {
11+
'mark/no-double-spaces': 'error',
12+
},
13+
},
14+
];

Diff for: package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -64,14 +64,15 @@
6464
"asyncro": "^3.0.0",
6565
"autoprefixer": "^10.4.2",
6666
"babel-eslint": "10.x",
67-
"editorconfig-checker": "^6.0.1",
6867
"babel-plugin-react-compiler": "19.0.0-beta-e552027-20250112",
68+
"editorconfig-checker": "^6.0.1",
6969
"eslint": "7.x",
7070
"eslint-config-next": "12.0.3",
7171
"eslint-config-react-app": "^5.2.1",
7272
"eslint-plugin-flowtype": "4.x",
7373
"eslint-plugin-import": "2.x",
7474
"eslint-plugin-jsx-a11y": "6.x",
75+
"eslint-plugin-mark": "^0.1.0-canary.1",
7576
"eslint-plugin-react": "7.x",
7677
"eslint-plugin-react-compiler": "^19.0.0-beta-e552027-20250112",
7778
"eslint-plugin-react-hooks": "^0.0.0-experimental-fabef7a6b-20221215",

Diff for: src/content/blog/2022/03/29/react-v18.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -272,11 +272,11 @@ React 18의 Strict 모드에서는 개발 모드에서 컴포넌트를 마운트
272272
* Add `useSyncExternalStore` to help external store libraries integrate with React. ([#15022](https://github.com/facebook/react/pull/15022), [#18000](https://github.com/facebook/react/pull/18000), [#18771](https://github.com/facebook/react/pull/18771), [#22211](https://github.com/facebook/react/pull/22211), [#22292](https://github.com/facebook/react/pull/22292), [#22239](https://github.com/facebook/react/pull/22239), [#22347](https://github.com/facebook/react/pull/22347), [#23150](https://github.com/facebook/react/pull/23150) by [@acdlite](https://github.com/acdlite), [@bvaughn](https://github.com/bvaughn), and [@drarmstr](https://github.com/drarmstr))
273273
* Add `startTransition` as a version of `useTransition` without pending feedback. ([#19696](https://github.com/facebook/react/pull/19696) by [@rickhanlonii](https://github.com/rickhanlonii))
274274
* Add `useInsertionEffect` for CSS-in-JS libraries. ([#21913](https://github.com/facebook/react/pull/21913) by [@rickhanlonii](https://github.com/rickhanlonii))
275-
* Make Suspense remount layout effects when content reappears. ([#19322](https://github.com/facebook/react/pull/19322), [#19374](https://github.com/facebook/react/pull/19374), [#19523](https://github.com/facebook/react/pull/19523), [#20625](https://github.com/facebook/react/pull/20625), [#21079](https://github.com/facebook/react/pull/21079) by [@acdlite](https://github.com/acdlite), [@bvaughn](https://github.com/bvaughn), and [@lunaruan](https://github.com/lunaruan))
275+
* Make Suspense remount layout effects when content reappears. ([#19322](https://github.com/facebook/react/pull/19322), [#19374](https://github.com/facebook/react/pull/19374), [#19523](https://github.com/facebook/react/pull/19523), [#20625](https://github.com/facebook/react/pull/20625), [#21079](https://github.com/facebook/react/pull/21079) by [@acdlite](https://github.com/acdlite), [@bvaughn](https://github.com/bvaughn), and [@lunaruan](https://github.com/lunaruan))
276276
* Make `<StrictMode>` re-run effects to check for restorable state. ([#19523](https://github.com/facebook/react/pull/19523) , [#21418](https://github.com/facebook/react/pull/21418) by [@bvaughn](https://github.com/bvaughn) and [@lunaruan](https://github.com/lunaruan))
277277
* Assume Symbols are always available. ([#23348](https://github.com/facebook/react/pull/23348) by [@sebmarkbage](https://github.com/sebmarkbage))
278278
* Remove `object-assign` polyfill. ([#23351](https://github.com/facebook/react/pull/23351) by [@sebmarkbage](https://github.com/sebmarkbage))
279-
* Remove unsupported `unstable_changedBits` API. ([#20953](https://github.com/facebook/react/pull/20953) by [@acdlite](https://github.com/acdlite))
279+
* Remove unsupported `unstable_changedBits` API. ([#20953](https://github.com/facebook/react/pull/20953) by [@acdlite](https://github.com/acdlite))
280280
* Allow components to render undefined. ([#21869](https://github.com/facebook/react/pull/21869) by [@rickhanlonii](https://github.com/rickhanlonii))
281281
* Flush `useEffect` resulting from discrete events like clicks synchronously. ([#21150](https://github.com/facebook/react/pull/21150) by [@acdlite](https://github.com/acdlite))
282282
* Suspense `fallback={undefined}` now behaves the same as `null` and isn't ignored. ([#21854](https://github.com/facebook/react/pull/21854) by [@rickhanlonii](https://github.com/rickhanlonii))
@@ -291,7 +291,7 @@ React 18의 Strict 모드에서는 개발 모드에서 컴포넌트를 마운트
291291
* Fix a crash when rendering `ZonedDateTime` in the tree. ([#20617](https://github.com/facebook/react/pull/20617) by [@dimaqq](https://github.com/dimaqq))
292292
* Fix a crash when document is set to `null` in tests. ([#22695](https://github.com/facebook/react/pull/22695) by [@SimenB](https://github.com/SimenB))
293293
* Fix `onLoad` not triggering when concurrent features are on. ([#23316](https://github.com/facebook/react/pull/23316) by [@gnoff](https://github.com/gnoff))
294-
* Fix a warning when a selector returns `NaN`. ([#23333](https://github.com/facebook/react/pull/23333) by [@hachibeeDI](https://github.com/hachibeeDI))
294+
* Fix a warning when a selector returns `NaN`. ([#23333](https://github.com/facebook/react/pull/23333) by [@hachibeeDI](https://github.com/hachibeeDI))
295295
* Fix a crash when document is set to `null` in tests. ([#22695](https://github.com/facebook/react/pull/22695) by [@SimenB](https://github.com/SimenB))
296296
* Fix the generated license header. ([#23004](https://github.com/facebook/react/pull/23004) by [@vitaliemiron](https://github.com/vitaliemiron))
297297
* Add `package.json` as one of the entry points. ([#22954](https://github.com/facebook/react/pull/22954) by [@Jack](https://github.com/Jack-Works))
@@ -305,7 +305,7 @@ React 18의 Strict 모드에서는 개발 모드에서 컴포넌트를 마운트
305305
* Add `aria-description` to the list of known ARIA attributes. ([#22142](https://github.com/facebook/react/pull/22142) by [@mahyareb](https://github.com/mahyareb))
306306
* Add `onResize` event to video elements. ([#21973](https://github.com/facebook/react/pull/21973) by [@rileyjshaw](https://github.com/rileyjshaw))
307307
* Add `imageSizes` and `imageSrcSet` to known props. ([#22550](https://github.com/facebook/react/pull/22550) by [@eps1lon](https://github.com/eps1lon))
308-
* Allow non-string `<option>` children if `value` is provided. ([#21431](https://github.com/facebook/react/pull/21431) by [@sebmarkbage](https://github.com/sebmarkbage))
308+
* Allow non-string `<option>` children if `value` is provided. ([#21431](https://github.com/facebook/react/pull/21431) by [@sebmarkbage](https://github.com/sebmarkbage))
309309
* Fix `aspectRatio` style not being applied. ([#21100](https://github.com/facebook/react/pull/21100) by [@gaearon](https://github.com/gaearon))
310310
* Warn if `renderSubtreeIntoContainer` is called. ([#23355](https://github.com/facebook/react/pull/23355) by [@acdlite](https://github.com/acdlite))
311311

Diff for: src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: "React Labs: 그동안의 작업 – 2022년 6월"
3-
author: Andrew Clark, Dan Abramov, Jan Kassens, Joseph Savona, Josh Story, Lauren Tan, Luna Ruan, Mengdi Chen, Rick Hanlon, Robert Zhang, Sathya Gunasekaran, Sebastian Markbage, and Xuan Huang
3+
author: Andrew Clark, Dan Abramov, Jan Kassens, Joseph Savona, Josh Story, Lauren Tan, Luna Ruan, Mengdi Chen, Rick Hanlon, Robert Zhang, Sathya Gunasekaran, Sebastian Markbage, and Xuan Huang
44
date: 2022/06/15
55
description: React 18 은 수년간의 준비 끝에 탄생한 버전으로 React 팀에게 귀중한 교훈을 가져다주었습니다. 수년간의 연구와 다양한 경로를 모색한 끝에 출시된 제품입니다. 그 경로 중 일부는 성공적이었지만 더 많은 경로가 막다른 골목에서 새로운 인사이트로 이어졌습니다. 우리가 얻은 한 가지 교훈은 우리가 탐색하고 있는 경로에 대한 인사이트를 공유받지 못한 채 새로운 기능을 기다리는 것은 커뮤니티에 실망감을 준다는 것입니다.
66
---

Diff for: src/content/blog/2024/10/21/react-compiler-beta-release.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ You can watch [Sathya Gunasekaran's](https://twitter.com/_gsathya) talk at React
5050

5151
## We recommend everyone use the React Compiler linter today {/*we-recommend-everyone-use-the-react-compiler-linter-today*/}
5252

53-
React Compilers ESLint plugin helps developers proactively identify and correct [Rules of React](/reference/rules) violations. **We strongly recommend everyone use the linter today**. The linter does not require that you have the compiler installed, so you can use it independently, even if you are not ready to try out the compiler.
53+
React Compiler's ESLint plugin helps developers proactively identify and correct [Rules of React](/reference/rules) violations. **We strongly recommend everyone use the linter today**. The linter does not require that you have the compiler installed, so you can use it independently, even if you are not ready to try out the compiler.
5454

5555
To install the linter only:
5656

Diff for: src/content/blog/2025/02/14/sunsetting-create-react-app.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ export default function Dashboard() {
179179

180180
Effect에서 데이터를 가져오는것은, 데이터를 더 일찍 가져올 수 있었음에도 불구하고, 사용자가 콘텐츠를 보기 위해 더 오래 기다려야 함을 의미합니다. 이 문제를 해결하기 위해 컴포넌트를 렌더링하기 전에 요청을 시작할 수 있도록 데이터 미리 가져오기 옵션을 제공하는 [React Query](https://react-query.tanstack.com/), [SWR](https://swr.vercel.app/ko), [Apollo](https://www.apollographql.com/docs/react) 또는 [Relay](https://relay.dev/)와 같은 라이브러리들을 사용할 수 있습니다.
181181

182-
이러한 라이브러리들은 라우트 수준에서 데이터 의존성을 지정할 수 있는 라우팅 로더" 패턴과 통합될 때 가장 효과적으로 작동하며, 이를 통해 라우터가 데이터 가져오기를 최적화할 수 있습니다.
182+
이러한 라이브러리들은 라우트 수준에서 데이터 의존성을 지정할 수 있는 라우팅 "로더" 패턴과 통합될 때 가장 효과적으로 작동하며, 이를 통해 라우터가 데이터 가져오기를 최적화할 수 있습니다.
183183

184184
```js
185185
export async function loader() {

Diff for: src/content/community/conferences.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -369,7 +369,7 @@ June 8 - 10, 2022. In-person in Kraków, Poland + remote
369369
[Website](https://appjs.co) - [Twitter](https://twitter.com/appjsconf)
370370

371371
### React Day Bangalore 2022 {/*react-day-bangalore-2022*/}
372-
June 8 - 9, 2022. Remote
372+
June 8 - 9, 2022. Remote
373373

374374
[Website](https://reactday.in/) - [Twitter](https://twitter.com/ReactDayIn) - [Linkedin](https://www.linkedin.com/company/react-day/) - [YouTube](https://www.youtube.com/reactify_in)
375375

@@ -473,7 +473,7 @@ April 14-16, 2021, 7am PST / 10am EST / 4pm CEST - remote event
473473

474474
[Website](https://remote.reactsummit.com) - [Twitter](https://twitter.com/reactsummit) - [Facebook](https://www.facebook.com/reactamsterdam) - [Videos](https://portal.gitnation.org/events/react-summit-remote-edition-2021)
475475

476-
### React fwdays21 {/*react-fwdays21*/}
476+
### React fwdays'21 {/*react-fwdays21*/}
477477
March 27, 2021 - remote event
478478

479479
[Website](https://fwdays.com/en/event/react-fwdays-2021) - [Twitter](https://twitter.com/fwdays) - [Facebook](https://www.facebook.com/events/1133828147054286) - [LinkedIn](https://www.linkedin.com/events/reactfwdays-21onlineconference6758046347334582273) - [Meetup](https://www.meetup.com/ru-RU/Fwdays/events/275764431/)

Diff for: src/content/community/meetups.md

+3
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@ Do you have a local React.js meetup? Add it here! (Please keep the list alphabet
4747
## Colombia {/*colombia*/}
4848
* [Medellin](https://www.meetup.com/React-Medellin/)
4949

50+
## Czechia {/*czechia*/}
51+
* [Prague](https://guild.host/react-prague/)
52+
5053
## Denmark {/*denmark*/}
5154
* [Aalborg](https://www.meetup.com/Aalborg-React-React-Native-Meetup/)
5255
* [Aarhus](https://www.meetup.com/Aarhus-ReactJS-Meetup/)

Diff for: src/content/learn/build-a-react-app-from-scratch.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ For example, if in the future your app needs support for server-side rendering (
1818

1919
Our recommended frameworks also help you build better performing apps. For example, reducing or eliminating waterfalls from network requests makes for a better user experience. This might not be a high priority when you are building a toy project, but if your app gains users you may want to improve its performance.
2020

21-
Going this route also makes it more difficult to get support, since the way you develop routing, data-fetching, and other features will be unique to your situation. You should only choose this option if you are comfortable tackling these problems on your own, or if youre confident that you will never need these features.
21+
Going this route also makes it more difficult to get support, since the way you develop routing, data-fetching, and other features will be unique to your situation. You should only choose this option if you are comfortable tackling these problems on your own, or if you're confident that you will never need these features.
2222

2323
For a list of recommended frameworks, check out [Creating a React App](/learn/creating-a-react-app).
2424

@@ -37,7 +37,7 @@ The first step is to install a build tool like `vite`, `parcel`, or `rsbuild`. T
3737
{`npm create vite@latest my-app -- --template react`}
3838
</TerminalBlock>
3939

40-
Vite is opinionated and comes with sensible defaults out of the box. Vite has a rich ecosystem of plugins to support fast refresh, JSX, Babel/SWC, and other common features. See Vite's [React plugin](https://vite.dev/plugins/#vitejs-plugin-react) or [React SWC plugin](https://vite.dev/plugins/#vitejs-plugin-react-swc) and [React SSR example project](https://vite.dev/guide/ssr.html#example-projects) to get started.
40+
Vite is opinionated and comes with sensible defaults out of the box. Vite has a rich ecosystem of plugins to support fast refresh, JSX, Babel/SWC, and other common features. See Vite's [React plugin](https://vite.dev/plugins/#vitejs-plugin-react) or [React SWC plugin](https://vite.dev/plugins/#vitejs-plugin-react-swc) and [React SSR example project](https://vite.dev/guide/ssr.html#example-projects) to get started.
4141

4242
Vite is already being used as a build tool in one of our [recommended frameworks](/learn/creating-a-react-app): [React Router](https://reactrouter.com/start/framework/installation).
4343

@@ -77,7 +77,7 @@ The React ecosystem includes many tools for these problems. We've listed a few t
7777

7878
### Routing {/*routing*/}
7979

80-
Routing determines what content or pages to display when a user visits a particular URL. You need to set up a router to map URLs to different parts of your app. You'll also need to handle nested routes, route parameters, and query parameters. Routers can be configured within your code, or defined based on your component folder and file structures.
80+
Routing determines what content or pages to display when a user visits a particular URL. You need to set up a router to map URLs to different parts of your app. You'll also need to handle nested routes, route parameters, and query parameters. Routers can be configured within your code, or defined based on your component folder and file structures.
8181

8282
Routers are a core part of modern applications, and are usually integrated with data fetching (including prefetching data for a whole page for faster loading), code splitting (to minimize client bundle sizes), and page rendering approaches (to decide how each page gets generated).
8383

@@ -91,9 +91,9 @@ We suggest using:
9191

9292
Fetching data from a server or other data source is a key part of most applications. Doing this properly requires handling loading states, error states, and caching the fetched data, which can be complex.
9393

94-
Purpose-built data fetching libraries do the hard work of fetching and caching the data for you, letting you focus on what data your app needs and how to display it. These libraries are typically used directly in your components, but can also be integrated into routing loaders for faster pre-fetching and better performance, and in server rendering as well.
94+
Purpose-built data fetching libraries do the hard work of fetching and caching the data for you, letting you focus on what data your app needs and how to display it. These libraries are typically used directly in your components, but can also be integrated into routing loaders for faster pre-fetching and better performance, and in server rendering as well.
9595

96-
Note that fetching data directly in components can lead to slower loading times due to network request waterfalls, so we recommend prefetching data in router loaders or on the server as much as possible! This allows a page's data to be fetched all at once as the page is being displayed.
96+
Note that fetching data directly in components can lead to slower loading times due to network request waterfalls, so we recommend prefetching data in router loaders or on the server as much as possible! This allows a page's data to be fetched all at once as the page is being displayed.
9797

9898
If you're fetching data from most backends or REST-style APIs, we suggest using:
9999

Diff for: src/content/learn/creating-a-react-app.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ If your app has constraints not well-served by existing frameworks, you prefer t
1212

1313
## Full-stack frameworks {/*full-stack-frameworks*/}
1414

15-
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 Reacts architecture.
15+
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.
1616

1717
<Note>
1818

@@ -68,7 +68,7 @@ There are other up-and-coming frameworks that are working towards our full stack
6868

6969
<DeepDive>
7070

71-
#### Which features make up the React teams full-stack architecture vision? {/*which-features-make-up-the-react-teams-full-stack-architecture-vision*/}
71+
#### Which features make up the React team's full-stack architecture vision? {/*which-features-make-up-the-react-teams-full-stack-architecture-vision*/}
7272

7373
Next.js's App Router bundler fully implements the official [React Server Components specification](https://github.com/reactjs/rfcs/blob/main/text/0188-server-components.md). This lets you mix build-time, server-only, and interactive components in a single React tree.
7474

@@ -104,10 +104,10 @@ Server Components and Suspense are React features rather than Next.js features.
104104

105105
If your app has constraints not well-served by existing frameworks, you prefer to build your own framework, or you just want to learn the basics of a React app, there are other options available for starting a React project from scratch.
106106

107-
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. It's a lot like building your own framework, instead of using a framework that already exists. The [frameworks we recommend](#full-stack-frameworks) have built-in solutions for these problems.
107+
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. It's a lot like building your own framework, instead of using a framework that already exists. The [frameworks we recommend](#full-stack-frameworks) have built-in solutions for these problems.
108108

109109
If you want to build your own solutions, see our guide to [build a React app from Scratch](/learn/build-a-react-app-from-scratch) for instructions on how to set up a new React project starting with a built tool like [Vite](https://vite.dev/), [Parcel](https://parceljs.org/), or [RSbuild](https://rsbuild.dev/).
110110

111111
-----
112112

113-
_If youre 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+)._
113+
_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+)._

0 commit comments

Comments
 (0)