Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
160 commits
Select commit Hold shift + click to select a range
73d7073
fix: correct overlay highlighting in code examples (#7669)
mrbadri May 15, 2025
4a7bdc1
fix: the value property of checkbox to the checked property (#7804)
kosh-jp May 16, 2025
ae4a40a
No need for useState here — useCounter handles the state internally (…
gbhardwaj00 May 16, 2025
a73055f
docs: fix misplaced prepositional phrase error (#7799)
mehmetmalli May 16, 2025
e2d9fd7
Fix wrong documentation for effect events (#7800)
gbhardwaj00 May 16, 2025
b92bb59
Remove stray console.log and image (#7814)
rickhanlonii May 16, 2025
b3b2166
fix(template): remove unnecessary import of React in template code (#…
dahoho May 16, 2025
9fb0519
fix(reference): correct singular form of 'Server Functions' to 'Serve…
dahoho May 16, 2025
69ce5d3
Add bold mono font (#7815)
rickhanlonii May 16, 2025
8b2fe2b
Remove TODO comments and convert them to issues (#7743)
BartoszKlonowski May 16, 2025
00587d6
Add example of `useActionState` handling execution order (#7733)
ajits01 May 16, 2025
79e1c48
docs: update vite link (#7784)
bornkiss May 16, 2025
c289cd0
docs: add bsky link (#7781)
bornkiss May 16, 2025
7ab1969
React Montreal Meetings have a new link (#7809)
EricCote May 16, 2025
f275c9d
fix: remove useless content (#6615)
loveloki May 17, 2025
0b68054
fix: wrong verb tense in doc (#7818)
aalhoura May 17, 2025
65d297e
fix: typo in challenge solution (#7816)
aalhoura May 17, 2025
f15830d
Use experiemental in all uEE doc sandboxes (#7820)
rickhanlonii May 20, 2025
2571aee
Author: Josh Story <story@hey.com>
gnoff May 21, 2025
3ee3a60
Fix wrong explanation in preserving-and-resetting-state (#6043)
smikitky May 26, 2025
9db23d6
fix: correct broken WAI-ARIA modal dialog link in createPortal refere…
dimatitov Jun 2, 2025
bbcb9af
Update meetups.md adding React Rajasthan Community (#7831)
shubhamui Jun 2, 2025
a2d17d1
Update components-and-hooks-must-be-pure.md (#7830)
ExercitusMortem Jun 2, 2025
94424ae
Update referencing-values-with-refs.md (#7829)
cHaLkdusT Jun 2, 2025
172f0b9
Add uwu click animation (#7822)
Jinsoo1004 Jun 2, 2025
3dcc4c4
Fix typo and clarily that a server function reference is created only…
kapantzak Jun 2, 2025
06965de
Add React Alicante 2025 to Conferences page (#7674)
mikedidomizio Jun 2, 2025
e901790
fix: use const where applicable in examples for keeping components pu…
ad1992 Jun 2, 2025
87cef4a
Remove `forwardRef` reference from API listing (#7837)
kassens Jun 3, 2025
c60173f
docs: Refactor context provider usage (#7793)
nannany Jun 3, 2025
37b09ea
fix: typo in docs on prerendering (#7823)
yeskunall Jun 3, 2025
5927c4e
Replace Context.Provider with Context (#7838)
kassens Jun 3, 2025
5dca520
fix(blog): resolve typo in React 19 blog post (`refs` → `ref`s) (#7828)
amir78729 Jun 3, 2025
50d6991
Update analyze_comment.yml (#7840)
jtn-dev Jun 6, 2025
82f2863
Fix #6915: typo fix (#6917)
Rekl0w Jun 28, 2025
741e8d9
fix: update ids to point to right part of the docs (#7854)
yeskunall Jun 28, 2025
c0c955e
chore: remove unused date-fns (#7856)
noritaka1166 Jun 28, 2025
b79ad22
chore: fix typo in resource and metadata components documentation (#7…
Rekl0w Jul 2, 2025
341c312
fix: correct typo in scaling-up-with-reducer-and-context.md (#7390)
bcdipesh Jul 2, 2025
4846020
fix flushSync link (#7862)
rickhanlonii Jul 9, 2025
84a5696
docs(react): fix grammar in forward ref deprecation message (#7864)
SimonSchick Jul 10, 2025
e245b77
[be] Add deadlinks script (#7879)
poteto Jul 18, 2025
d52b3ec
Fix deadlinks (#7880)
poteto Jul 18, 2025
8ad6c60
Revert "Fix deadlinks (#7880)" (#7881)
poteto Jul 21, 2025
79eb0c5
Update deadlinks script to take into account redirects (#7882)
poteto Jul 21, 2025
aa5448d
Fix deadlinks take 2 (#7883)
poteto Jul 21, 2025
b165e71
[compiler] Rewrite React Compiler Docs (#7868)
poteto Jul 21, 2025
d7160a8
[compiler] Fix misleading code example (#7889)
poteto Jul 21, 2025
b462664
[compiler] Flesh out incremental adoption intro more (#7890)
poteto Jul 21, 2025
b6450e8
[compiler] Add note about gating evaluation (#7891)
poteto Jul 21, 2025
e07ac94
Remove non-existent meetup group (Edinburgh, Scotland) (#7895)
melanterite Jul 25, 2025
1a6b2bb
Fixes animation jank on hover (#7904)
wesbos Aug 6, 2025
b092216
fix: box-shadow animation on community (#7905)
ChezFre Aug 7, 2025
e9a7cb1
Updates to Activity docs (#7884)
samselikoff Aug 8, 2025
0a74f01
Add more information about event and property binding on custom eleme…
crutchcorn Aug 22, 2025
27d86ff
Touch-ups to Activity (#7940)
samselikoff Aug 22, 2025
694aeac
Add React Paris 2025 conference talks + Add React Paris 2026 (#7935)
AymenBenAmor Aug 26, 2025
90686d8
Add CityJS New Delhi 2026 conference details (#7949)
arismarko Aug 26, 2025
9a370f2
[compiler] Tweak intro section on manual memo guidance (#7953)
poteto Aug 28, 2025
94a1164
[compiler][ez] Reference rc tag for install instructions (#7955)
poteto Aug 28, 2025
19c8201
[compiler] Update docs on eslint-plugin-react-hooks installation (#7956)
poteto Aug 28, 2025
2774ddf
Add reload button, rename reset to clear (#7954)
rickhanlonii Aug 29, 2025
ddfcf6e
fix: typo in component style documentation (#7925)
sky21kr Sep 1, 2025
bb998fd
fix broken link server-functions (#7923)
PouriaDamavandi Sep 1, 2025
4db5ecd
docs: Add Rendercon 2025 Conference (#7962)
orama254 Sep 2, 2025
9ced885
feat(i18n): make DocsPageFooter navigation labels translatable (#7943)
mrbadri Sep 2, 2025
04feec4
fix(rtl): resolve RTL issues in Challenges component (#7942)
mrbadri Sep 2, 2025
4d53629
Introduce Liverpool and Edinburgh meetup groups. (#7950)
asimno Sep 2, 2025
73a5fdd
docs: fix typo in update useTransition.md (#7936)
brookslybrand Sep 2, 2025
fc27b0a
docs: fix ordered list numbering in TypeScript with React Components …
mrbadri Sep 2, 2025
03a5465
Docs: update ref callback behaviour (#7927)
ninamma Sep 2, 2025
a4a37d8
Add setup to home sidebar (#7963)
rickhanlonii Sep 2, 2025
ca3e271
fix: definition typo on view transitions blog post (#7918)
vitormrmonteiro Sep 2, 2025
67584b3
Fix: grammar and add comma (#7917)
deepu7d Sep 2, 2025
0cc37ee
fix: typo (#7914)
Raghuboi Sep 2, 2025
afd84d1
Recommend installing `@types/*` as dev dependencies
Dejumo Sep 2, 2025
337d5ea
docs: minor grammar correction (#7906)
ergusto Sep 2, 2025
e9efd19
fix : typo in form component documentation (#7894)
developerjhp Sep 2, 2025
2217f45
Update "Deep Dive" in reusing-logic-with-custom-hooks.md with link an…
aurorascharff Sep 2, 2025
ff11cd2
Add note that form actions are actions (#7964)
rickhanlonii Sep 2, 2025
85ee6b2
Remove deprecated loremflickr placeholder images (#7968)
poteto Sep 3, 2025
b8e9faf
Fix handleClick compiler intro example (#7967)
rickhanlonii Sep 3, 2025
d34c6a2
Fix/tictactoe docs invalid file names (#7969)
mtayyabrawan Sep 4, 2025
4d3d495
Add React Conf 2024 to /videos (#7977)
rickhanlonii Sep 9, 2025
0bfd418
docs: add flushSync Troubleshooting section (#7978)
Akshay090 Sep 11, 2025
a5181c2
Bump Activity docs to canary (#7974)
rickhanlonii Sep 12, 2025
5b9a2ce
Upgrade babel-plugin-react-compiler (#7985)
poteto Sep 16, 2025
a566d87
Add copyright script (#7991)
poteto Sep 18, 2025
bd03b86
Update copyright on all files (#7992)
poteto Sep 18, 2025
b6a32d1
Add local eslint rule to validate markdown codeblocks with React Comp…
poteto Sep 18, 2025
5cc9b7b
fix compiler errors (#7989)
poteto Sep 18, 2025
2a9ef2d
Revert "fix compiler errors (#7989)" (#7995)
poteto Sep 18, 2025
f369f3e
Ignore braces when building Sandpack file map (#7996)
poteto Sep 18, 2025
730d045
Restore lint corrections from #7989 (#7997)
poteto Sep 18, 2025
c15e20f
Install eslint-local-rules as postinstall (#7993)
poteto Sep 19, 2025
366b5fb
Add new eslint rule reference docs (#7986)
poteto Sep 19, 2025
c8211fc
Add RC badge to RC-only lint rules (#8005)
rickhanlonii Sep 22, 2025
170e5b9
Remove unnecessary spaces from useCallback.md (#8006)
rammba Sep 23, 2025
790625f
Fix ViewTransition examples (#7999)
EugeneChoi4 Sep 23, 2025
1b20061
Fix value wrongly formatted as code in useDeferredValue.md (#8024)
rammba Sep 26, 2025
49c2d26
Update useEffectEvent docs for canary (#8025)
jackpope Sep 28, 2025
c60922f
Fix incorrect negative in use-memo intro (#8027)
karlhorky Oct 1, 2025
3f0235b
Docs for `cacheSignal` (#8023)
eps1lon Oct 1, 2025
9fddeca
docs: initial docs for Performance tracks (#7938)
hoxyq Oct 1, 2025
aba6b86
Docs for partial-prerendering APIs (#7869)
rickhanlonii Oct 1, 2025
10e5ad5
Conditionally deriving state is allowed (#8033)
gaearon Oct 1, 2025
dc86f88
Overview for React Server Performance tracks (#8031)
eps1lon Oct 1, 2025
c3d7560
Blog post for React 19.2 (#8028)
rickhanlonii Oct 1, 2025
0a803f6
Update eslint-plugin-react-hooks config docs (#8030)
jackpope Oct 1, 2025
f9fd07c
Fix Activity sandboxes (#8035)
rickhanlonii Oct 1, 2025
37f862a
Latest release is 19.2 (#8040)
eps1lon Oct 2, 2025
9850724
Upgrade sandboxes to 19.2 (#8037)
gaearon Oct 2, 2025
42037e2
Few cleanups for 19.2 (#8046)
rickhanlonii Oct 2, 2025
07b7a5d
s/19.3/19.2
rickhanlonii Oct 2, 2025
996ef72
Prerender can be aborted in stable (#8039)
eps1lon Oct 2, 2025
775d895
fix typo
sophiebits Oct 3, 2025
ae584af
Add experimental docs for Fragment refs (#8010)
jackpope Oct 3, 2025
7b8612e
Update eslint-plugin-react-hooks version reference (#8051)
poteto Oct 3, 2025
11cb6b5
Clarify eslint-plugin-react-hooks configuration details (#8052)
poteto Oct 4, 2025
28e9bd9
Document React's profiling build (#8054)
eps1lon Oct 6, 2025
2495353
Bump ViewTransition and Fragment ref docs to canary (#8048)
eps1lon Oct 7, 2025
d9e3504
Add React Foundation blog post (#8057)
mattcarrollcode Oct 7, 2025
8d73630
Upgrade to stable react compiler (#8058)
poteto Oct 7, 2025
ef80db8
Fix broken tabs (#8063)
poteto Oct 8, 2025
ec27355
Fix grammatical error in ViewTransition documentation (#8068)
Caisere Oct 9, 2025
be77c2a
React Compiler v1 (#8065)
poteto Oct 10, 2025
6346efd
Reorder compiler post a bit (#8071)
gaearon Oct 11, 2025
16e97fa
Fix server/client typo in <form> docs (#6627)
mdj-uk Oct 11, 2025
7e24db5
fix: correct example link to minified error on /errors index page (#8…
SecondThundeR Oct 11, 2025
0d05d9b
Revert "Reorder compiler post a bit (#8071)" (#8074)
gaearon Oct 11, 2025
02ecded
Update caveats for Activity rendering behavior (#8067)
TkDodo Oct 13, 2025
a677ba3
Fragment refs - Remove unused ref from focus fragment example (#8056)
slorber Oct 13, 2025
9ef1c47
fix: Breaking up a sentence to make it easier to understand (#8078)
moijes12 Oct 15, 2025
c8843f7
docs: capitalize Error Boundary concept across docs (#6713) (#8077)
Yonas650 Oct 16, 2025
ac0d53e
docs: update recommended full-stack React framework from Remix to Rea…
ardi-zanki Oct 16, 2025
55e37af
Update conference listings for 2025 and 2026 (#8069)
arismarko Oct 16, 2025
44e94f3
Fix typo in useRef.md (#8060)
gramsco Oct 16, 2025
4b92001
Fix typo in Comments component (#7258)
sachanritik1 Oct 16, 2025
593fa1c
docs: fix symbol in prerenderToNodeStream.md (#8019)
WuMingDao Oct 16, 2025
df75927
docs: fix server components link text to match target section heading…
alejorrojas Oct 16, 2025
7571898
Fix cat scrolling example (#7980)
kenkam Oct 16, 2025
6cb7fea
Update hooks link to /reference/react/hooks in /reference/react/api…
WuMingDao Oct 16, 2025
ee5b672
Fix ordered list numbering in useCallback.md (#8011)
rammba Oct 16, 2025
f93cb2e
doc: Update from /react to /react/hooks in /reference/react-dom/hooks…
WuMingDao Oct 16, 2025
896a689
Remove ReactConf notes in blogs (#8082)
rickhanlonii Oct 16, 2025
fe87df5
clarify SRP definition (#8008)
0xPxt Oct 16, 2025
7ecf008
Add React Conf 2025 recap blog post (#8079)
mattcarrollcode Oct 16, 2025
f8c81a0
Use stable activity imports (#8085)
jackpope Oct 18, 2025
4b0935b
Add `<Activity>` bullet to built-in components section (#8087)
imjordanxd Oct 20, 2025
2c7798d
Fix typo in react compiler blog post date (#8091)
poteto Oct 20, 2025
c0af2d0
Add note on error boundary limitations (#8108)
JayCeeKay1991 Oct 29, 2025
e57e912
docs(blog): Add 'React 19.2' to blog sidebar (#8113)
SeungJin051 Oct 31, 2025
f9e2c13
Remove 'esquery' hack to potentially enable Turbopack (#8115)
joshwcomeau Nov 1, 2025
f020b53
docs: add missing 'Static APIs' link to React DOM reference page (#8127)
martinrebo Nov 5, 2025
5c632dc
Nit: wording
gaearon Nov 5, 2025
9c0763d
fix: correct links for Redwood and TanStack (#8121)
clicktodev Nov 5, 2025
abd1fe0
docs: Remove redundant symbols ‘ “ ’ (#8101)
WuMingDao Nov 5, 2025
6a70889
Fix typo in childIds array in initialTravelPlan (#8112)
egvr2002 Nov 5, 2025
d271a7a
Fix incorrect condition in "Chains of computations" example (#8109)
PaulyBearCoding Nov 6, 2025
c106883
merging all conflicts
react-translations-bot Nov 10, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Fix deadlinks take 2 (#7883)
Fixes the actual broken links.

```
$ yarn deadlinks

yarn run v1.22.22
$ node scripts/deadLinkChecker.js
Checking 177 markdown files...
Fetched 552 React error codes
Loaded 49 redirects from vercel.json

✓ All 1554 links are valid!

✨  Done in 0.86s.
```
  • Loading branch information
poteto authored Jul 21, 2025
commit aa5448dc1c7f1fc0753e04c6c524913ecb480b36
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ Activity is still under research and our remaining work is to finalize the primi

In addition to this update, our team has presented at conferences and made appearances on podcasts to speak more on our work and answer questions.

- [Sathya Gunasekaran](/community/team#sathya-gunasekaran) spoke about the React Compiler at the [React India](https://www.youtube.com/watch?v=kjOacmVsLSE) conference
- [Sathya Gunasekaran](https://github.com/gsathya) spoke about the React Compiler at the [React India](https://www.youtube.com/watch?v=kjOacmVsLSE) conference

- [Dan Abramov](/community/team#dan-abramov) gave a talk at [RemixConf](https://www.youtube.com/watch?v=zMf_xeGPn6s) titled “React from Another Dimension” which explores an alternative history of how React Server Components and Actions could have been created

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2495,7 +2495,7 @@ For example, we can slow down the `default` cross fade animation:
</ViewTransition>
```

And define `slow-fade` in CSS using [view transition classes](/reference/react/ViewTransition#view-transition-classes):
And define `slow-fade` in CSS using [view transition classes](/reference/react/ViewTransition#view-transition-class):

```css
::view-transition-old(.slow-fade) {
Expand Down
2 changes: 1 addition & 1 deletion src/content/learn/add-react-to-an-existing-project.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Here's how we recommend to set it up:
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/)).
3. **Configure your server or a proxy** so that all requests under `/some-app/` are handled by your React app.

This ensures the React part of your app can [benefit from the best practices](/learn/start-a-new-react-project#can-i-use-react-without-a-framework) baked into those frameworks.
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.

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.

Expand Down
2 changes: 1 addition & 1 deletion src/content/learn/synchronizing-with-effects.md
Original file line number Diff line number Diff line change
Expand Up @@ -732,7 +732,7 @@ Writing `fetch` calls inside Effects is a [popular way to fetch data](https://ww

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:

- **If you use a [framework](/learn/start-a-new-react-project#production-grade-react-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.
- **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.
- **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).

You can continue fetching data directly in Effects if neither of these approaches suit you.
Expand Down
6 changes: 3 additions & 3 deletions src/content/learn/typescript.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@ TypeScript is a popular way to add type definitions to JavaScript codebases. Out

* [TypeScript with React Components](/learn/typescript#typescript-with-react-components)
* [Examples of typing with Hooks](/learn/typescript#example-hooks)
* [Common types from `@types/react`](/learn/typescript/#useful-types)
* [Further learning locations](/learn/typescript/#further-learning)
* [Common types from `@types/react`](/learn/typescript#useful-types)
* [Further learning locations](/learn/typescript#further-learning)

</YouWillLearn>

## Installation {/*installation*/}

All [production-grade React frameworks](/learn/start-a-new-react-project#production-grade-react-frameworks) offer support for using TypeScript. Follow the framework specific guide for installation:
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:

- [Next.js](https://nextjs.org/docs/app/building-your-application/configuring/typescript)
- [Remix](https://remix.run/docs/en/1.19.2/guides/typescript)
Expand Down
4 changes: 2 additions & 2 deletions src/content/learn/you-might-not-need-an-effect.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ There are two common cases in which you don't need Effects:
* **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.
* **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.

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#production-grade-react-frameworks) provide more efficient built-in data fetching mechanisms than writing Effects directly in your components.
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.

To help you gain the right intuition, let's look at some common concrete examples!

Expand Down Expand Up @@ -751,7 +751,7 @@ This ensures that when your Effect fetches data, all responses except the last r

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).

**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#production-grade-react-frameworks) provide more efficient built-in data fetching mechanisms than fetching data in Effects.**
**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.**

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:

Expand Down
2 changes: 1 addition & 1 deletion src/content/reference/react-dom/client/createRoot.md
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@ When your HTML is empty, the user sees a blank page until the app's JavaScript c
<div id="root"></div>
```

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#production-grade-react-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).*
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).*

</Note>

Expand Down
2 changes: 1 addition & 1 deletion src/content/reference/react-dom/client/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ title: Client React DOM APIs

<Intro>

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#production-grade-react-frameworks) may call them for you. Most of your components don't need to import or use them.
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.

</Intro>

Expand Down
2 changes: 1 addition & 1 deletion src/content/reference/react-dom/components/common.md
Original file line number Diff line number Diff line change
Expand Up @@ -916,7 +916,7 @@ export default function Form() {

</Sandpack>

Read more about [manipulating DOM with refs](/learn/manipulating-the-dom-with-refs) and [check out more examples.](/reference/react/useRef#examples-dom)
Read more about [manipulating DOM with refs](/learn/manipulating-the-dom-with-refs) and [check out more examples.](/reference/react/useRef#usage)

For more advanced use cases, the `ref` attribute also accepts a [callback function.](#ref-callback)

Expand Down
4 changes: 2 additions & 2 deletions src/content/reference/react-dom/components/form.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ To create interactive controls for submitting information, render the [built-in

#### Props {/*props*/}

`<form>` supports all [common element props.](/reference/react-dom/components/common#props)
`<form>` supports all [common element props.](/reference/react-dom/components/common#common-props)

[`action`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#action): a URL or function. When a URL is passed to `action` the form will behave like the HTML form component. When a function is passed to `action` the function will handle the form submission. The function passed to `action` may be async and will be called with a single argument containing the [form data](https://developer.mozilla.org/en-US/docs/Web/API/FormData) of the submitted form. The `action` prop can be overridden by a `formAction` attribute on a `<button>`, `<input type="submit">`, or `<input type="image">` component.

Expand Down Expand Up @@ -230,7 +230,7 @@ export async function deliverMessage(message) {
</Sandpack>

[//]: # 'Uncomment the next line, and delete this line after the `useOptimistic` reference documentatino page is published'
[//]: # 'To learn more about the `useOptimistic` Hook see the [reference documentation](/reference/react/hooks/useOptimistic).'
[//]: # 'To learn more about the `useOptimistic` Hook see the [reference documentation](/reference/react/useOptimistic).'

### Handling form submission errors {/*handling-form-submission-errors*/}

Expand Down
2 changes: 1 addition & 1 deletion src/content/reference/react-dom/components/input.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ To display an input, render the [built-in browser `<input>`](https://developer.m

#### Props {/*props*/}

`<input>` supports all [common element props.](/reference/react-dom/components/common#props)
`<input>` supports all [common element props.](/reference/react-dom/components/common#common-props)

- [`formAction`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#formaction): A string or function. Overrides the parent `<form action>` for `type="submit"` and `type="image"`. When a URL is passed to `action` the form will behave like a standard HTML form. When a function is passed to `formAction` the function will handle the form submission. See [`<form action>`](/reference/react-dom/components/form#props).

Expand Down
2 changes: 1 addition & 1 deletion src/content/reference/react-dom/components/link.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ To link to external resources such as stylesheets, fonts, and icons, or to annot

#### Props {/*props*/}

`<link>` supports all [common element props.](/reference/react-dom/components/common#props)
`<link>` supports all [common element props.](/reference/react-dom/components/common#common-props)

* `rel`: a string, required. Specifies the [relationship to the resource](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel). React [treats links with `rel="stylesheet"` differently](#special-rendering-behavior) from other links.

Expand Down
2 changes: 1 addition & 1 deletion src/content/reference/react-dom/components/meta.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ To add document metadata, render the [built-in browser `<meta>` component](https

#### Props {/*props*/}

`<meta>` supports all [common element props.](/reference/react-dom/components/common#props)
`<meta>` supports all [common element props.](/reference/react-dom/components/common#common-props)

It should have *exactly one* of the following props: `name`, `httpEquiv`, `charset`, `itemProp`. The `<meta>` component does something different depending on which of these props is specified.

Expand Down
2 changes: 1 addition & 1 deletion src/content/reference/react-dom/components/option.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ The [built-in browser `<option>` component](https://developer.mozilla.org/en-US/

#### Props {/*props*/}

`<option>` supports all [common element props.](/reference/react-dom/components/common#props)
`<option>` supports all [common element props.](/reference/react-dom/components/common#common-props)

Additionally, `<option>` supports these props:

Expand Down
2 changes: 1 addition & 1 deletion src/content/reference/react-dom/components/progress.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ To display a progress indicator, render the [built-in browser `<progress>`](http

#### Props {/*props*/}

`<progress>` supports all [common element props.](/reference/react-dom/components/common#props)
`<progress>` supports all [common element props.](/reference/react-dom/components/common#common-props)

Additionally, `<progress>` supports these props:

Expand Down
2 changes: 1 addition & 1 deletion src/content/reference/react-dom/components/script.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ To add inline or external scripts to your document, render the [built-in browser

#### Props {/*props*/}

`<script>` supports all [common element props.](/reference/react-dom/components/common#props)
`<script>` supports all [common element props.](/reference/react-dom/components/common#common-props)

It should have *either* `children` or a `src` prop.

Expand Down
2 changes: 1 addition & 1 deletion src/content/reference/react-dom/components/select.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ To display a select box, render the [built-in browser `<select>`](https://develo

#### Props {/*props*/}

`<select>` supports all [common element props.](/reference/react-dom/components/common#props)
`<select>` supports all [common element props.](/reference/react-dom/components/common#common-props)

You can [make a select box controlled](#controlling-a-select-box-with-a-state-variable) by passing a `value` prop:

Expand Down
2 changes: 1 addition & 1 deletion src/content/reference/react-dom/components/style.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ To add inline styles to your document, render the [built-in browser `<style>` co

#### Props {/*props*/}

`<style>` supports all [common element props.](/reference/react-dom/components/common#props)
`<style>` supports all [common element props.](/reference/react-dom/components/common#common-props)

* `children`: a string, required. The contents of the stylesheet.
* `precedence`: a string. Tells React where to rank the `<style>` DOM node relative to others in the document `<head>`, which determines which stylesheet can override the other. React will infer that precedence values it discovers first are "lower" and precedence values it discovers later are "higher". Many style systems can work fine using a single precedence value because style rules are atomic. Stylesheets with the same precedence go together whether they are `<link>` or inline `<style>` tags or loaded using [`preinit`](/reference/react-dom/preinit) functions.
Expand Down
2 changes: 1 addition & 1 deletion src/content/reference/react-dom/components/textarea.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ To display a text area, render the [built-in browser `<textarea>`](https://devel

#### Props {/*props*/}

`<textarea>` supports all [common element props.](/reference/react-dom/components/common#props)
`<textarea>` supports all [common element props.](/reference/react-dom/components/common#common-props)

You can [make a text area controlled](#controlling-a-text-area-with-a-state-variable) by passing a `value` prop:

Expand Down
2 changes: 1 addition & 1 deletion src/content/reference/react-dom/components/title.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ To specify the title of the document, render the [built-in browser `<title>` com

#### Props {/*props*/}

`<title>` supports all [common element props.](/reference/react-dom/components/common#props)
`<title>` supports all [common element props.](/reference/react-dom/components/common#common-props)

* `children`: `<title>` accepts only text as a child. This text will become the title of the document. You can also pass your own components as long as they only render text.

Expand Down
2 changes: 1 addition & 1 deletion src/content/reference/react-dom/createPortal.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ A portal only changes the physical placement of the DOM node. In every other way

* `domNode`: Some DOM node, such as those returned by `document.getElementById()`. The node must already exist. Passing a different DOM node during an update will cause the portal content to be recreated.

* **optional** `key`: A unique string or number to be used as the portal's [key.](/learn/rendering-lists/#keeping-list-items-in-order-with-key)
* **optional** `key`: A unique string or number to be used as the portal's [key.](/learn/rendering-lists#keeping-list-items-in-order-with-key)

#### Returns {/*returns*/}

Expand Down
2 changes: 1 addition & 1 deletion src/content/reference/react-dom/server/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ title: Server React DOM APIs

<Intro>

The `react-dom/server` APIs let you server-side render React components to HTML. These APIs are only used on the server at the top level of your app to generate the initial HTML. A [framework](/learn/start-a-new-react-project#production-grade-react-frameworks) may call them for you. Most of your components don't need to import or use them.
The `react-dom/server` APIs let you server-side render React components to HTML. These APIs are only used on the server at the top level of your app to generate the initial HTML. 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.

</Intro>

Expand Down
2 changes: 1 addition & 1 deletion src/content/reference/react-dom/static/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ title: Static React DOM APIs

<Intro>

The `react-dom/static` APIs let you generate static HTML for React components. They have limited functionality compared to the streaming APIs. A [framework](/learn/start-a-new-react-project#production-grade-react-frameworks) may call them for you. Most of your components don't need to import or use them.
The `react-dom/static` APIs let you generate static HTML for React components. They have limited functionality compared to the streaming APIs. 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.

</Intro>

Expand Down
Loading