Skip to content

Commit 12bb8bc

Browse files
merging all conflicts
2 parents 4531476 + 50d6991 commit 12bb8bc

28 files changed

+178
-162
lines changed

.github/workflows/analyze_comment.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,11 @@ on:
66
types:
77
- completed
88

9-
permissions: {}
10-
9+
permissions:
10+
contents: read
11+
issues: write
12+
pull-requests: write
13+
1114
jobs:
1215
comment:
1316
runs-on: ubuntu-latest

src/components/Layout/HomeContent.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1180,7 +1180,7 @@ async function Talks({ confId }) {
11801180
</CodeBlock>
11811181
}
11821182
right={
1183-
<NavContext.Provider value={{slug, navigate}}>
1183+
<NavContext value={{slug, navigate}}>
11841184
<BrowserChrome
11851185
domain="example.com"
11861186
path={'confs/' + slug}
@@ -1200,7 +1200,7 @@ async function Talks({ confId }) {
12001200
</Suspense>
12011201
</ExamplePanel>
12021202
</BrowserChrome>
1203-
</NavContext.Provider>
1203+
</NavContext>
12041204
}
12051205
/>
12061206
);

src/components/Layout/Page.tsx

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -82,11 +82,9 @@ export function Page({
8282
'max-w-7xl mx-auto',
8383
section === 'blog' && 'lg:flex lg:flex-col lg:items-center'
8484
)}>
85-
<TocContext.Provider value={toc}>
86-
<LanguagesContext.Provider value={languages}>
87-
{children}
88-
</LanguagesContext.Provider>
89-
</TocContext.Provider>
85+
<TocContext value={toc}>
86+
<LanguagesContext value={languages}>{children}</LanguagesContext>
87+
</TocContext>
9088
</div>
9189
{!isBlogIndex && (
9290
<DocsPageFooter

src/components/Layout/TopNav/TopNav.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,9 @@ export default function TopNav({
266266
<BrandMenu>
267267
<div className="flex items-center">
268268
<div className="uwu-visible flex items-center justify-center h-full">
269-
<NextLink href="/">
269+
<NextLink
270+
href="/"
271+
className="active:scale-95 transition-transform">
270272
<Image
271273
alt="logo by @sawaratsuki1004"
272274
title="logo by @sawaratsuki1004"

src/components/MDX/MDXComponents.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,7 @@ function IllustrationBlock({
354354
</figure>
355355
));
356356
return (
357-
<IllustrationContext.Provider value={isInBlockTrue}>
357+
<IllustrationContext value={isInBlockTrue}>
358358
<div className="relative group before:absolute before:-inset-y-16 before:inset-x-0 my-16 mx-0 2xl:mx-auto max-w-4xl 2xl:max-w-6xl">
359359
{sequential ? (
360360
<ol className="mdx-illustration-block flex">
@@ -369,7 +369,7 @@ function IllustrationBlock({
369369
)}
370370
<AuthorCredit author={author} authorLink={authorLink} />
371371
</div>
372-
</IllustrationContext.Provider>
372+
</IllustrationContext>
373373
);
374374
}
375375

src/content/blog/2024/12/05/react-19.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -410,7 +410,7 @@ New function components will no longer need `forwardRef`, and we will be publish
410410

411411
<Note>
412412

413-
`refs` passed to classes are not passed as props since they reference the component instance.
413+
`ref`s passed to classes are not passed as props since they reference the component instance.
414414

415415
</Note>
416416

src/content/community/conferences.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,11 @@ September 2-4, 2025. Wrocław, Poland.
4545

4646
[Website](https://www.reactuniverseconf.com/) - [Twitter](https://twitter.com/react_native_eu) - [LinkedIn](https://www.linkedin.com/events/reactuniverseconf7163919537074118657/)
4747

48+
### React Alicante 2025 {/*react-alicante-2025*/}
49+
October 2-4, 2025. Alicante, Spain.
50+
51+
[Website](https://reactalicante.es/) - [Twitter](https://x.com/ReactAlicante) - [Bluesky](https://bsky.app/profile/reactalicante.es) - [YouTube](https://www.youtube.com/channel/UCaSdUaITU1Cz6PvC97A7e0w)
52+
4853
### React Conf 2025 {/*react-conf-2025*/}
4954
October 7-8, 2025. Henderson, Nevada, USA and free livestream
5055

src/content/community/meetups.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ Do you have a local React.js meetup? Add it here! (Please keep the list alphabet
8888
* [Delhi NCR](https://www.meetup.com/React-Delhi-NCR/)
8989
* [Mumbai](https://reactmumbai.dev)
9090
* [Pune](https://www.meetup.com/ReactJS-and-Friends/)
91+
* [Rajasthan](https://reactrajasthan.com)
9192

9293
## Indonesia {/*indonesia*/}
9394
* [Indonesia](https://www.meetup.com/reactindonesia/)

src/content/learn/keeping-components-pure.md

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ function Cup({ guest }) {
175175
}
176176

177177
export default function TeaGathering() {
178-
let cups = [];
178+
const cups = [];
179179
for (let i = 1; i <= 12; i++) {
180180
cups.push(<Cup key={i} guest={i} />);
181181
}
@@ -245,7 +245,7 @@ Il Rendering è un *calcolo*, non dovrebbe cercare di "fare" cose. Puoi esprimer
245245

246246
```js src/Clock.js active
247247
export default function Clock({ time }) {
248-
let hours = time.getHours();
248+
const hours = time.getHours();
249249
if (hours >= 0 && hours <= 6) {
250250
document.getElementById('time').className = 'night';
251251
} else {
@@ -307,7 +307,7 @@ Puoi risolvere questo componente calcolando `className` e includendolo nell'outp
307307

308308
```js src/Clock.js active
309309
export default function Clock({ time }) {
310-
let hours = time.getHours();
310+
const hours = time.getHours();
311311
let className;
312312
if (hours >= 0 && hours <= 6) {
313313
className = 'night';
@@ -606,14 +606,14 @@ export default function StoryTray({ stories }) {
606606
import { useState, useEffect } from 'react';
607607
import StoryTray from './StoryTray.js';
608608

609-
let initialStories = [
609+
const initialStories = [
610610
{id: 0, label: "Ankit's Story" },
611611
{id: 1, label: "Taylor's Story" },
612612
];
613613

614614
export default function App() {
615-
let [stories, setStories] = useState([...initialStories])
616-
let time = useTime();
615+
const [stories, setStories] = useState([...initialStories])
616+
const time = useTime();
617617

618618
// HACK: Prevent the memory from growing forever while you read docs.
619619
// We're breaking our own rules here.
@@ -702,14 +702,14 @@ export default function StoryTray({ stories }) {
702702
import { useState, useEffect } from 'react';
703703
import StoryTray from './StoryTray.js';
704704

705-
let initialStories = [
705+
const initialStories = [
706706
{id: 0, label: "Ankit's Story" },
707707
{id: 1, label: "Taylor's Story" },
708708
];
709709

710710
export default function App() {
711-
let [stories, setStories] = useState([...initialStories])
712-
let time = useTime();
711+
const [stories, setStories] = useState([...initialStories])
712+
const time = useTime();
713713

714714
// HACK: Prevent the memory from growing forever while you read docs.
715715
// We're breaking our own rules here.
@@ -769,8 +769,13 @@ In alternativa, potresti creare un _nuovo_ array (copiando quello esistente) pri
769769

770770
```js src/StoryTray.js active
771771
export default function StoryTray({ stories }) {
772+
<<<<<<< HEAD
772773
// Copia l'array!
773774
let storiesToDisplay = stories.slice();
775+
=======
776+
// Copy the array!
777+
const storiesToDisplay = stories.slice();
778+
>>>>>>> 50d6991ca6652f4bc4c985cf0c0e593864f2cc91
774779

775780
// Non influenza l'array originale:
776781
storiesToDisplay.push({
@@ -794,14 +799,14 @@ export default function StoryTray({ stories }) {
794799
import { useState, useEffect } from 'react';
795800
import StoryTray from './StoryTray.js';
796801

797-
let initialStories = [
802+
const initialStories = [
798803
{id: 0, label: "Ankit's Story" },
799804
{id: 1, label: "Taylor's Story" },
800805
];
801806

802807
export default function App() {
803-
let [stories, setStories] = useState([...initialStories])
804-
let time = useTime();
808+
const [stories, setStories] = useState([...initialStories])
809+
const time = useTime();
805810

806811
// HACK: Prevenire che la memoria aumenti all'infinito durante la lettura dei documenti.
807812
// Stiamo infrangendo le nostre stesse regole qui.

src/content/learn/managing-state.md

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -741,9 +741,9 @@ export default function Section({ children }) {
741741
const level = useContext(LevelContext);
742742
return (
743743
<section className="section">
744-
<LevelContext.Provider value={level + 1}>
744+
<LevelContext value={level + 1}>
745745
{children}
746-
</LevelContext.Provider>
746+
</LevelContext>
747747
</section>
748748
);
749749
}
@@ -836,13 +836,11 @@ export function TasksProvider({ children }) {
836836
);
837837
838838
return (
839-
<TasksContext.Provider value={tasks}>
840-
<TasksDispatchContext.Provider
841-
value={dispatch}
842-
>
839+
<TasksContext value={tasks}>
840+
<TasksDispatchContext value={dispatch}>
843841
{children}
844-
</TasksDispatchContext.Provider>
845-
</TasksContext.Provider>
842+
</TasksDispatchContext>
843+
</TasksContext>
846844
);
847845
}
848846

src/content/learn/preserving-and-resetting-state.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -672,7 +672,7 @@ label {
672672

673673
</Sandpack>
674674

675-
The counter state gets reset when you click the checkbox. Although you render a `Counter`, the first child of the `div` changes from a `div` to a `section`. When the child `div` was removed from the DOM, the whole tree below it (including the `Counter` and its state) was destroyed as well.
675+
The counter state gets reset when you click the checkbox. Although you render a `Counter`, the first child of the `div` changes from a `section` to a `div`. When the child `section` was removed from the DOM, the whole tree below it (including the `Counter` and its state) was destroyed as well.
676676

677677
<DiagramGroup>
678678

src/content/learn/referencing-values-with-refs.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -464,7 +464,7 @@ export default function Toggle() {
464464

465465
#### Fix debouncing {/*fix-debouncing*/}
466466

467-
In this example, all button click handlers are ["debounced".](https://redd.one/blog/debounce-vs-throttle) To see what this means, press one of the buttons. Notice how the message appears a second later. If you press the button while waiting for the message, the timer will reset. So if you keep clicking the same button fast many times, the message won't appear until a second *after* you stop clicking. Debouncing lets you delay some action until the user "stops doing things".
467+
In this example, all button click handlers are ["debounced".](https://kettanaito.com/blog/debounce-vs-throttle) To see what this means, press one of the buttons. Notice how the message appears a second later. If you press the button while waiting for the message, the timer will reset. So if you keep clicking the same button fast many times, the message won't appear until a second *after* you stop clicking. Debouncing lets you delay some action until the user "stops doing things".
468468

469469
This example works, but not quite as intended. The buttons are not independent. To see the problem, click one of the buttons, and then immediately click another button. You'd expect that after a delay, you would see both button's messages. But only the last button's message shows up. The first button's message gets lost.
470470

src/content/learn/scaling-up-with-reducer-and-context.md

Lines changed: 28 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -461,11 +461,11 @@ export default function TaskApp() {
461461
const [tasks, dispatch] = useReducer(tasksReducer, initialTasks);
462462
// ...
463463
return (
464-
<TasksContext.Provider value={tasks}>
465-
<TasksDispatchContext.Provider value={dispatch}>
464+
<TasksContext value={tasks}>
465+
<TasksDispatchContext value={dispatch}>
466466
...
467-
</TasksDispatchContext.Provider>
468-
</TasksContext.Provider>
467+
</TasksDispatchContext>
468+
</TasksContext>
469469
);
470470
}
471471
```
@@ -509,8 +509,8 @@ export default function TaskApp() {
509509
}
510510

511511
return (
512-
<TasksContext.Provider value={tasks}>
513-
<TasksDispatchContext.Provider value={dispatch}>
512+
<TasksContext value={tasks}>
513+
<TasksDispatchContext value={dispatch}>
514514
<h1>Day off in Kyoto</h1>
515515
<AddTask
516516
onAddTask={handleAddTask}
@@ -520,8 +520,8 @@ export default function TaskApp() {
520520
onChangeTask={handleChangeTask}
521521
onDeleteTask={handleDeleteTask}
522522
/>
523-
</TasksDispatchContext.Provider>
524-
</TasksContext.Provider>
523+
</TasksDispatchContext>
524+
</TasksContext>
525525
);
526526
}
527527

@@ -676,13 +676,13 @@ In the next step, you will remove prop passing.
676676
Now you don't need to pass the list of tasks or the event handlers down the tree:
677677

678678
```js {4-5}
679-
<TasksContext.Provider value={tasks}>
680-
<TasksDispatchContext.Provider value={dispatch}>
679+
<TasksContext value={tasks}>
680+
<TasksDispatchContext value={dispatch}>
681681
<h1>Day off in Kyoto</h1>
682682
<AddTask />
683683
<TaskList />
684-
</TasksDispatchContext.Provider>
685-
</TasksContext.Provider>
684+
</TasksDispatchContext>
685+
</TasksContext>
686686
```
687687

688688
Instead, any component that needs the task list can read it from the `TaskContext`:
@@ -730,13 +730,13 @@ export default function TaskApp() {
730730
);
731731

732732
return (
733-
<TasksContext.Provider value={tasks}>
734-
<TasksDispatchContext.Provider value={dispatch}>
733+
<TasksContext value={tasks}>
734+
<TasksDispatchContext value={dispatch}>
735735
<h1>Day off in Kyoto</h1>
736736
<AddTask />
737737
<TaskList />
738-
</TasksDispatchContext.Provider>
739-
</TasksContext.Provider>
738+
</TasksDispatchContext>
739+
</TasksContext>
740740
);
741741
}
742742

@@ -921,11 +921,11 @@ export function TasksProvider({ children }) {
921921
const [tasks, dispatch] = useReducer(tasksReducer, initialTasks);
922922

923923
return (
924-
<TasksContext.Provider value={tasks}>
925-
<TasksDispatchContext.Provider value={dispatch}>
924+
<TasksContext value={tasks}>
925+
<TasksDispatchContext value={dispatch}>
926926
{children}
927-
</TasksDispatchContext.Provider>
928-
</TasksContext.Provider>
927+
</TasksDispatchContext>
928+
</TasksContext>
929929
);
930930
}
931931
```
@@ -963,11 +963,11 @@ export function TasksProvider({ children }) {
963963
);
964964

965965
return (
966-
<TasksContext.Provider value={tasks}>
967-
<TasksDispatchContext.Provider value={dispatch}>
966+
<TasksContext value={tasks}>
967+
<TasksDispatchContext value={dispatch}>
968968
{children}
969-
</TasksDispatchContext.Provider>
970-
</TasksContext.Provider>
969+
</TasksDispatchContext>
970+
</TasksContext>
971971
);
972972
}
973973

@@ -1174,11 +1174,11 @@ export function TasksProvider({ children }) {
11741174
);
11751175

11761176
return (
1177-
<TasksContext.Provider value={tasks}>
1178-
<TasksDispatchContext.Provider value={dispatch}>
1177+
<TasksContext value={tasks}>
1178+
<TasksDispatchContext value={dispatch}>
11791179
{children}
1180-
</TasksDispatchContext.Provider>
1181-
</TasksContext.Provider>
1180+
</TasksDispatchContext>
1181+
</TasksContext>
11821182
);
11831183
}
11841184

@@ -1363,4 +1363,3 @@ As your app grows, you may have many context-reducer pairs like this. This is a
13631363
- You can have many context-reducer pairs like this in your app.
13641364
13651365
</Recap>
1366-

src/content/learn/typescript.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -260,9 +260,9 @@ export default function MyApp() {
260260
const [theme, setTheme] = useState<Theme>('light');
261261

262262
return (
263-
<ThemeContext.Provider value={theme}>
263+
<ThemeContext value={theme}>
264264
<MyComponent />
265-
</ThemeContext.Provider>
265+
</ThemeContext>
266266
)
267267
}
268268

@@ -310,9 +310,9 @@ export default function MyApp() {
310310
const object = useMemo(() => ({ kind: "complex" }), []);
311311

312312
return (
313-
<Context.Provider value={object}>
313+
<Context value={object}>
314314
<MyComponent />
315-
</Context.Provider>
315+
</Context>
316316
)
317317
}
318318

0 commit comments

Comments
 (0)