Skip to content

Commit 2fc90e1

Browse files
authored
Merge pull request #515 from reactjs/sync-0f2284dd
Sync with react.dev @ 0f2284d
2 parents 4910ba3 + 97cd46a commit 2fc90e1

File tree

14 files changed

+78
-52
lines changed

14 files changed

+78
-52
lines changed

src/components/Layout/Footer.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ export function Footer() {
283283
<div
284284
className="text-xs text-left rtl:text-right mt-2 pe-0.5"
285285
dir="ltr">
286-
&copy;{new Date().getFullYear()}
286+
Copyright &copy; Meta Platforms, Inc
287287
</div>
288288
<div
289289
className="uwu-visible text-xs cursor-pointer hover:text-link hover:dark:text-link-dark hover:underline"

src/content/blog/2023/03/16/introducing-react-dev.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ Use the conditional operator (`cond ? a : b`) to render a ❌ if `isPacked` isn
269269
function Item({ name, isPacked }) {
270270
return (
271271
<li className="item">
272-
{name} {isPacked && ''}
272+
{name} {isPacked && ''}
273273
</li>
274274
);
275275
}
@@ -307,7 +307,7 @@ export default function PackingList() {
307307
function Item({ name, isPacked }) {
308308
return (
309309
<li className="item">
310-
{name} {isPacked ? '' : ''}
310+
{name} {isPacked ? '' : ''}
311311
</li>
312312
);
313313
}

src/content/community/conferences.md

Lines changed: 39 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -10,26 +10,6 @@ Do you know of a local React.js conference? Add it here! (Please keep the list c
1010

1111
## Upcoming Conferences {/*upcoming-conferences*/}
1212

13-
### React Nexus 2024 {/*react-nexus-2024*/}
14-
July 04 & 05, 2024. Bangalore, India (In-person event)
15-
16-
[Website](https://reactnexus.com/) - [Twitter](https://twitter.com/ReactNexus) - [Linkedin](https://www.linkedin.com/company/react-nexus) - [YouTube](https://www.youtube.com/reactify_in)
17-
18-
### Chain React 2024 {/*chain-react-2024*/}
19-
July 17-19, 2024. In-person in Portland, OR, USA
20-
21-
[Website](https://chainreactconf.com) - [Twitter](https://twitter.com/ChainReactConf)
22-
23-
### The Geek Conf 2024 {/*the-geek-conf-2024*/}
24-
July 25, 2024. In-person in Berlin, Germany + remote (hybrid event)
25-
26-
[Website](https://thegeekconf.com) - [Twitter](https://twitter.com/thegeekconf)
27-
28-
### React Rally 2024 🐙 {/*react-rally-2024*/}
29-
August 12-13, 2024. Park City, UT, USA
30-
31-
[Website](https://reactrally.com) - [Twitter](https://twitter.com/ReactRally) - [YouTube](https://www.youtube.com/channel/UCXBhQ05nu3L1abBUGeQ0ahw)
32-
3313
### React Universe Conf 2024 {/*react-universe-conf-2024*/}
3414
September 5-6, 2024. Wrocław, Poland.
3515

@@ -40,6 +20,10 @@ September 19-21, 2024. Alicante, Spain.
4020

4121
[Website](https://reactalicante.es/) - [Twitter](https://twitter.com/ReactAlicante) - [YouTube](https://www.youtube.com/channel/UCaSdUaITU1Cz6PvC97A7e0w)
4222

23+
### RenderCon Kenya 2024 {/*rendercon-kenya-2024*/}
24+
October 04 - 05, 2024. Nairobi, Kenya
25+
26+
[Website](https://rendercon.org/) - [Twitter](https://twitter.com/renderconke) - [LinkedIn](https://www.linkedin.com/company/renderconke/) - [YouTube](https://www.youtube.com/channel/UC0bCcG8gHUL4njDOpQGcMIA)
4327

4428
### React India 2024 {/*react-india-2024*/}
4529
October 17 - 19, 2024. In-person in Goa, India (hybrid event) + Oct 15 2024 - remote day
@@ -51,13 +35,48 @@ October 18, 2024. In-person in Brussels, Belgium (hybrid event)
5135

5236
[Website](https://www.react.brussels/) - [Twitter](https://x.com/BrusselsReact)
5337

38+
### React Advanced London 2024 {/*react-advanced-london-2024*/}
39+
October 25 & 28, 2024. In-person in London, UK + online (hybrid event)
40+
41+
[Website](https://reactadvanced.com/) - [Twitter](https://x.com/reactadvanced)
42+
43+
### React Summit US 2024 {/*react-summit-us-2024*/}
44+
November 19 & 22, 2024. In-person in New York, USA + online (hybrid event)
45+
46+
[Website](https://reactsummit.us/) - [Twitter](https://twitter.com/reactsummit) - [Videos](https://portal.gitnation.org/)
47+
5448
### React Africa 2024 {/*react-africa-2024*/}
5549
November 29, 2024. In-person in Casablanca, Morocco (hybrid event)
5650

5751
[Website](https://react-africa.com/) - [Twitter](https://x.com/BeJS_)
5852

53+
### React Day Berlin 2024 {/*react-day-berlin-2024*/}
54+
December 13 & 16, 2024. In-person in Berlin, Germany + remote (hybrid event)
55+
56+
[Website](https://reactday.berlin/) - [Twitter](https://x.com/reactdayberlin)
57+
5958
## Past Conferences {/*past-conferences*/}
6059

60+
### React Rally 2024 🐙 {/*react-rally-2024*/}
61+
August 12-13, 2024. Park City, UT, USA
62+
63+
[Website](https://reactrally.com) - [Twitter](https://twitter.com/ReactRally) - [YouTube](https://www.youtube.com/channel/UCXBhQ05nu3L1abBUGeQ0ahw)
64+
65+
### The Geek Conf 2024 {/*the-geek-conf-2024*/}
66+
July 25, 2024. In-person in Berlin, Germany + remote (hybrid event)
67+
68+
[Website](https://thegeekconf.com) - [Twitter](https://twitter.com/thegeekconf)
69+
70+
### Chain React 2024 {/*chain-react-2024*/}
71+
July 17-19, 2024. In-person in Portland, OR, USA
72+
73+
[Website](https://chainreactconf.com) - [Twitter](https://twitter.com/ChainReactConf)
74+
75+
### React Nexus 2024 {/*react-nexus-2024*/}
76+
July 04 & 05, 2024. Bangalore, India (In-person event)
77+
78+
[Website](https://reactnexus.com/) - [Twitter](https://twitter.com/ReactNexus) - [Linkedin](https://www.linkedin.com/company/react-nexus) - [YouTube](https://www.youtube.com/reactify_in)
79+
6180
### React Summit 2024 {/*react-summit-2024*/}
6281
June 14 & 18, 2024. In-person in Amsterdam, Netherlands + remote (hybrid event)
6382

src/content/learn/conditional-rendering.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -52,13 +52,13 @@ export default function PackingList() {
5252
5353
</Sandpack>
5454
55-
Nota che alcuni componenti `Item` hanno la loro prop `isPacked` settata a `true` invece che `false`. Vuoi aggiungere un segno di spunta () agli elementi imballati se `isPacked={true}`.
55+
Nota che alcuni componenti `Item` hanno la loro prop `isPacked` settata a `true` invece che `false`. Vuoi aggiungere un segno di spunta () agli elementi imballati se `isPacked={true}`.
5656
5757
Puoi scrivere questo come un'[istruzione `if`/`else`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/if...else) in questo modo:
5858

5959
```js
6060
if (isPacked) {
61-
return <li className="item">{name} </li>;
61+
return <li className="item">{name} </li>;
6262
}
6363
return <li className="item">{name}</li>;
6464
```
@@ -70,7 +70,7 @@ Se la prop `isPacked` è `true`, questo codice **ritorna un albero JSX different
7070
```js
7171
function Item({ name, isPacked }) {
7272
if (isPacked) {
73-
return <li className="item">{name} </li>;
73+
return <li className="item">{name} </li>;
7474
}
7575
return <li className="item">{name}</li>;
7676
}
@@ -159,7 +159,7 @@ Nella pratica, ritornare `null` da un componente non è comune perché potrebbe
159159
Nell'esempio precedente, hai controllato quale albero JSX sarebbe stato ritornato dal componente (se presente!). Potresti aver già notato qualche duplicazione nell'output renderizzato:
160160

161161
```js
162-
<li className="item">{name} </li>
162+
<li className="item">{name} </li>
163163
```
164164

165165
è molto simile a
@@ -172,7 +172,7 @@ Entrambi i rami condizionali ritornano `<li className="item">...</li>`:
172172

173173
```js
174174
if (isPacked) {
175-
return <li className="item">{name} </li>;
175+
return <li className="item">{name} </li>;
176176
}
177177
return <li className="item">{name}</li>;
178178
```
@@ -187,7 +187,7 @@ Invece di questo:
187187
188188
```js
189189
if (isPacked) {
190-
return <li className="item">{name} </li>;
190+
return <li className="item">{name} </li>;
191191
}
192192
return <li className="item">{name}</li>;
193193
```
@@ -197,12 +197,12 @@ Puoi scrivere questo:
197197
```js
198198
return (
199199
<li className="item">
200-
{isPacked ? name + ' ' : name}
200+
{isPacked ? name + ' ' : name}
201201
</li>
202202
);
203203
```
204204
205-
Puoi leggerlo come *"se `isPacked` è true, allora (`?`) renderizza `name + ' '`, altrimenti (`:`) renderizza `name`"*.
205+
Puoi leggerlo come *"se `isPacked` è true, allora (`?`) renderizza `name + ' '`, altrimenti (`:`) renderizza `name`"*.
206206
207207
<DeepDive>
208208
@@ -222,7 +222,7 @@ function Item({ name, isPacked }) {
222222
<li className="item">
223223
{isPacked ? (
224224
<del>
225-
{name + ' '}
225+
{name + ' '}
226226
</del>
227227
) : (
228228
name
@@ -266,7 +266,7 @@ Un'altra scorciatoia comune che incontrerai è l'[operatore logico AND (`&&`).](
266266
```js
267267
return (
268268
<li className="item">
269-
{name} {isPacked && ''}
269+
{name} {isPacked && ''}
270270
</li>
271271
);
272272
```
@@ -281,7 +281,7 @@ Eccolo in azione:
281281
function Item({ name, isPacked }) {
282282
return (
283283
<li className="item">
284-
{name} {isPacked && ''}
284+
{name} {isPacked && ''}
285285
</li>
286286
);
287287
}
@@ -337,7 +337,7 @@ Utilizza un'istruzione `if` per riassegnare un'espressione JSX ad `itemContent`
337337

338338
```js
339339
if (isPacked) {
340-
itemContent = name + " ";
340+
itemContent = name + " ";
341341
}
342342
```
343343

@@ -357,7 +357,7 @@ Questo stile è più verboso, ma è anche più flessibile. Ecco come funziona:
357357
function Item({ name, isPacked }) {
358358
let itemContent = name;
359359
if (isPacked) {
360-
itemContent = name + " ";
360+
itemContent = name + " ";
361361
}
362362
return (
363363
<li className="item">
@@ -401,7 +401,7 @@ function Item({ name, isPacked }) {
401401
if (isPacked) {
402402
itemContent = (
403403
<del>
404-
{name + " "}
404+
{name + " "}
405405
</del>
406406
);
407407
}
@@ -464,7 +464,7 @@ Usa l'operatore condizionale (`cond ? a : b`) per renderizzare una ❌ se `isPac
464464
function Item({ name, isPacked }) {
465465
return (
466466
<li className="item">
467-
{name} {isPacked && ''}
467+
{name} {isPacked && ''}
468468
</li>
469469
);
470470
}
@@ -502,7 +502,7 @@ export default function PackingList() {
502502
function Item({ name, isPacked }) {
503503
return (
504504
<li className="item">
505-
{name} {isPacked ? '' : ''}
505+
{name} {isPacked ? '' : ''}
506506
</li>
507507
);
508508
}

src/content/learn/describing-the-ui.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ In questo esempio, l'operatore `&&` di JavaScript viene utilizzato per renderizz
326326
function Item({ name, isPacked }) {
327327
return (
328328
<li className="item">
329-
{name} {isPacked && ''}
329+
{name} {isPacked && ''}
330330
</li>
331331
);
332332
}

src/content/learn/react-compiler.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ In addition to these docs, we recommend checking the [React Compiler Working Gro
121121
Prior to installing the compiler, you can first check to see if your codebase is compatible:
122122

123123
<TerminalBlock>
124-
npx react-compiler-healthcheck@latest
124+
npx react-compiler-healthcheck@experimental
125125
</TerminalBlock>
126126

127127
This script will:
@@ -143,7 +143,7 @@ Found no usage of incompatible libraries.
143143
React Compiler also powers an eslint plugin. The eslint plugin can be used **independently** of the compiler, meaning you can use the eslint plugin even if you don't use the compiler.
144144

145145
<TerminalBlock>
146-
npm install eslint-plugin-react-compiler
146+
npm install eslint-plugin-react-compiler@experimental
147147
</TerminalBlock>
148148

149149
Then, add it to your eslint config:
@@ -203,7 +203,7 @@ If you're starting a new project, you can enable the compiler on your entire cod
203203
### Babel {/*usage-with-babel*/}
204204

205205
<TerminalBlock>
206-
npm install babel-plugin-react-compiler
206+
npm install babel-plugin-react-compiler@experimental
207207
</TerminalBlock>
208208

209209
The compiler includes a Babel plugin which you can use in your build pipeline to run the compiler.
@@ -258,7 +258,7 @@ Next.js has an experimental configuration to enable the React Compiler. It autom
258258
- Install `babel-plugin-react-compiler`
259259

260260
<TerminalBlock>
261-
npm install next@canary babel-plugin-react-compiler
261+
npm install next@canary babel-plugin-react-compiler@experimental
262262
</TerminalBlock>
263263

264264
Then configure the experimental option in `next.config.js`:

src/content/learn/you-might-not-need-an-effect.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -408,9 +408,9 @@ function Game() {
408408
409409
There are two problems with this code.
410410
411-
One problem is that it is very inefficient: the component (and its children) have to re-render between each `set` call in the chain. In the example above, in the worst case (`setCard` → render → `setGoldCardCount` → render → `setRound` → render → `setIsGameOver` → render) there are three unnecessary re-renders of the tree below.
411+
First problem is that it is very inefficient: the component (and its children) have to re-render between each `set` call in the chain. In the example above, in the worst case (`setCard` → render → `setGoldCardCount` → render → `setRound` → render → `setIsGameOver` → render) there are three unnecessary re-renders of the tree below.
412412
413-
Even if it weren't slow, as your code evolves, you will run into cases where the "chain" you wrote doesn't fit the new requirements. Imagine you are adding a way to step through the history of the game moves. You'd do it by updating each state variable to a value from the past. However, setting the `card` state to a value from the past would trigger the Effect chain again and change the data you're showing. Such code is often rigid and fragile.
413+
The second problem is that even if it weren't slow, as your code evolves, you will run into cases where the "chain" you wrote doesn't fit the new requirements. Imagine you are adding a way to step through the history of the game moves. You'd do it by updating each state variable to a value from the past. However, setting the `card` state to a value from the past would trigger the Effect chain again and change the data you're showing. Such code is often rigid and fragile.
414414
415415
In this case, it's better to calculate what you can during rendering, and adjust the state in the event handler:
416416

src/content/reference/react-dom/components/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ They are special in React because passing the `value` prop to them makes them *[
3434

3535
## Resource and Metadata Components {/*resource-and-metadata-components*/}
3636

37-
These bulit-in browser components let you load external resources or annotate the document with metadata:
37+
These built-in browser components let you load external resources or annotate the document with metadata:
3838

3939
* [`<link>`](/reference/react-dom/components/link)
4040
* [`<meta>`](/reference/react-dom/components/meta)

src/content/reference/react/cache.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ By caching a long-running data fetch, you can kick off asynchronous work prior t
226226
```jsx [[2, 6, "await getUser(id)"], [1, 17, "getUser(id)"]]
227227
const getUser = cache(async (id) => {
228228
return await db.user.query(id);
229-
})
229+
});
230230

231231
async function Profile({id}) {
232232
const user = await getUser(id);
@@ -327,7 +327,7 @@ In general, you should use [`useMemo`](/reference/react/useMemo) for caching a e
327327
'use client';
328328

329329
function WeatherReport({record}) {
330-
const avgTemp = useMemo(() => calculateAvg(record)), record);
330+
const avgTemp = useMemo(() => calculateAvg(record), record);
331331
// ...
332332
}
333333

src/content/reference/react/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ La documentazione di riferimento su React è suddivisa in sottosezioni funzional
1515
Funzionalità React programmatiche:
1616

1717
* [Hooks](/reference/react/hooks) - Utilizza diverse funzionalità di React dai tuoi componenti.
18-
* [Componenti](/reference/react/components) - Documenta i componenti integrati che puoi utilizzare nel tuo JSX.
18+
* [Componenti](/reference/react/components) - Componenti integrati che puoi utilizzare nel tuo JSX.
1919
* [API](/reference/react/apis) - API utili per la definizione dei componenti.
2020
* [Direttive](/reference/rsc/directives) - Fornisce istruzioni ai bundler compatibili con React Server Components.
2121

0 commit comments

Comments
 (0)