Skip to content

Commit 28e0b97

Browse files
merging all conflicts
2 parents 4910ba3 + 0f2284d commit 28e0b97

File tree

15 files changed

+94
-49
lines changed

15 files changed

+94
-49
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/adding-interactivity.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,11 @@ setCount(count + 1); // Richiedi un re-render con 1
265265
console.log(count); // Ancora 0!
266266
```
267267

268+
<<<<<<< HEAD
268269
Questo comportamento aiuta a evitare bug difficili da individuare. Ecco una piccola app di messaggistica. Prova a indovinare cosa succede se premi "Send" e *poi* selezioni il destinatario Bob. Quale nome apparirà nell'`alert` cinque secondi dopo?
270+
=======
271+
This behavior helps you avoid subtle bugs. Here is a little chat app. Try to guess what happens if you press "Send" first and *then* change the recipient to Bob. Whose name will appear in the `alert` five seconds later?
272+
>>>>>>> 0f2284ddc8dcab8bbb9b42c04f3c7af94b5b2e73
269273
270274
<Sandpack>
271275

src/content/learn/conditional-rendering.md

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -52,13 +52,17 @@ export default function PackingList() {
5252
5353
</Sandpack>
5454
55+
<<<<<<< HEAD
5556
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}`.
57+
=======
58+
Notice that some of the `Item` components have their `isPacked` prop set to `true` instead of `false`. You want to add a checkmark (✅) to packed items if `isPacked={true}`.
59+
>>>>>>> 0f2284ddc8dcab8bbb9b42c04f3c7af94b5b2e73
5660
5761
Puoi scrivere questo come un'[istruzione `if`/`else`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/if...else) in questo modo:
5862

5963
```js
6064
if (isPacked) {
61-
return <li className="item">{name} </li>;
65+
return <li className="item">{name} </li>;
6266
}
6367
return <li className="item">{name}</li>;
6468
```
@@ -70,7 +74,7 @@ Se la prop `isPacked` è `true`, questo codice **ritorna un albero JSX different
7074
```js
7175
function Item({ name, isPacked }) {
7276
if (isPacked) {
73-
return <li className="item">{name} </li>;
77+
return <li className="item">{name} </li>;
7478
}
7579
return <li className="item">{name}</li>;
7680
}
@@ -159,7 +163,7 @@ Nella pratica, ritornare `null` da un componente non è comune perché potrebbe
159163
Nell'esempio precedente, hai controllato quale albero JSX sarebbe stato ritornato dal componente (se presente!). Potresti aver già notato qualche duplicazione nell'output renderizzato:
160164

161165
```js
162-
<li className="item">{name} </li>
166+
<li className="item">{name} </li>
163167
```
164168

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

173177
```js
174178
if (isPacked) {
175-
return <li className="item">{name} </li>;
179+
return <li className="item">{name} </li>;
176180
}
177181
return <li className="item">{name}</li>;
178182
```
@@ -187,7 +191,7 @@ Invece di questo:
187191
188192
```js
189193
if (isPacked) {
190-
return <li className="item">{name} </li>;
194+
return <li className="item">{name} </li>;
191195
}
192196
return <li className="item">{name}</li>;
193197
```
@@ -197,12 +201,16 @@ Puoi scrivere questo:
197201
```js
198202
return (
199203
<li className="item">
200-
{isPacked ? name + ' ' : name}
204+
{isPacked ? name + ' ' : name}
201205
</li>
202206
);
203207
```
204208
209+
<<<<<<< HEAD
205210
Puoi leggerlo come *"se `isPacked` è true, allora (`?`) renderizza `name + ''`, altrimenti (`:`) renderizza `name`"*.
211+
=======
212+
You can read it as *"if `isPacked` is true, then (`?`) render `name + ''`, otherwise (`:`) render `name`"*.
213+
>>>>>>> 0f2284ddc8dcab8bbb9b42c04f3c7af94b5b2e73
206214
207215
<DeepDive>
208216
@@ -222,7 +230,7 @@ function Item({ name, isPacked }) {
222230
<li className="item">
223231
{isPacked ? (
224232
<del>
225-
{name + ' '}
233+
{name + ' '}
226234
</del>
227235
) : (
228236
name
@@ -266,7 +274,7 @@ Un'altra scorciatoia comune che incontrerai è l'[operatore logico AND (`&&`).](
266274
```js
267275
return (
268276
<li className="item">
269-
{name} {isPacked && ''}
277+
{name} {isPacked && ''}
270278
</li>
271279
);
272280
```
@@ -281,7 +289,7 @@ Eccolo in azione:
281289
function Item({ name, isPacked }) {
282290
return (
283291
<li className="item">
284-
{name} {isPacked && ''}
292+
{name} {isPacked && ''}
285293
</li>
286294
);
287295
}
@@ -337,7 +345,7 @@ Utilizza un'istruzione `if` per riassegnare un'espressione JSX ad `itemContent`
337345

338346
```js
339347
if (isPacked) {
340-
itemContent = name + " ";
348+
itemContent = name + " ";
341349
}
342350
```
343351

@@ -357,7 +365,7 @@ Questo stile è più verboso, ma è anche più flessibile. Ecco come funziona:
357365
function Item({ name, isPacked }) {
358366
let itemContent = name;
359367
if (isPacked) {
360-
itemContent = name + " ";
368+
itemContent = name + " ";
361369
}
362370
return (
363371
<li className="item">
@@ -401,7 +409,7 @@ function Item({ name, isPacked }) {
401409
if (isPacked) {
402410
itemContent = (
403411
<del>
404-
{name + " "}
412+
{name + " "}
405413
</del>
406414
);
407415
}
@@ -464,7 +472,7 @@ Usa l'operatore condizionale (`cond ? a : b`) per renderizzare una ❌ se `isPac
464472
function Item({ name, isPacked }) {
465473
return (
466474
<li className="item">
467-
{name} {isPacked && ''}
475+
{name} {isPacked && ''}
468476
</li>
469477
);
470478
}
@@ -502,7 +510,7 @@ export default function PackingList() {
502510
function Item({ name, isPacked }) {
503511
return (
504512
<li className="item">
505-
{name} {isPacked ? '' : ''}
513+
{name} {isPacked ? '' : ''}
506514
</li>
507515
);
508516
}

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

0 commit comments

Comments
 (0)