Skip to content

Commit 010ce1e

Browse files
authored
Merge pull request #625 from reactjs/sync-5d2f7105
Sync with react.dev @ 5d2f710
2 parents f2a9e8f + a154748 commit 010ce1e

File tree

9 files changed

+44
-23
lines changed

9 files changed

+44
-23
lines changed

public/images/team/noahlemen.jpg

330 KB
Loading

src/components/Layout/Footer.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -331,7 +331,7 @@ export function Footer() {
331331
<FooterLink href="https://opensource.fb.com/legal/terms/">
332332
Mentions légales
333333
</FooterLink>
334-
<div className="flex flex-row mt-8 gap-x-2">
334+
<div className="flex flex-row items-center mt-8 gap-x-2">
335335
<ExternalLink
336336
aria-label="React sur Facebook"
337337
href="https://www.facebook.com/react"

src/components/MDX/ErrorDecoder.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,17 @@ function replaceArgs(
1818
/**
1919
* Sindre Sorhus <https://sindresorhus.com>
2020
* Released under MIT license
21-
* https://github.com/sindresorhus/linkify-urls/blob/edd75a64a9c36d7025f102f666ddbb6cf0afa7cd/index.js#L4C25-L4C137
21+
* https://github.com/sindresorhus/linkify-urls/blob/b2397096df152e2f799011f7a48e5f73b4bf1c7e/index.js#L5C1-L7C1
2222
*
2323
* The regex is used to extract URL from the string for linkify.
2424
*/
25-
const urlRegex =
26-
/((?<!\+)https?:\/\/(?:www\.)?(?:[-\w.]+?[.@][a-zA-Z\d]{2,}|localhost)(?:[-\w.:%+~#*$!?&/=@]*?(?:,(?!\s))*?)*)/g;
25+
const urlRegex = () =>
26+
/((?:https?(?::\/\/))(?:www\.)?(?:[a-zA-Z\d-_.]+(?:(?:\.|@)[a-zA-Z\d]{2,})|localhost)(?:(?:[-a-zA-Z\d:%_+.~#!?&//=@]*)(?:[,](?![\s]))*)*)/g;
2727

2828
// When the message contains a URL (like https://fb.me/react-refs-must-have-owner),
2929
// make it a clickable link.
3030
function urlify(str: string): React.ReactNode[] {
31-
const segments = str.split(urlRegex);
31+
const segments = str.split(urlRegex());
3232

3333
return segments.map((message, i) => {
3434
if (i % 2 === 1) {

src/content/community/acknowledgements.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ Nous aimerions remercier particulièrement certaines personnes ayant effectué d
3535
* [Joe Critchley](https://github.com/joecritch)
3636
* [Jeff Morrison](https://github.com/jeffmo)
3737
* [Luna Ruan](https://github.com/lunaruan)
38+
* [Kathryn Middleton](https://github.com/kmiddleton14)
3839
* [Keyan Zhang](https://github.com/keyz)
3940
* [Marco Salazar](https://github.com/salazarm)
4041
* [Mengdi Chen](https://github.com/mondaychen)
@@ -46,6 +47,7 @@ Nous aimerions remercier particulièrement certaines personnes ayant effectué d
4647
* [Philipp Spiess](https://github.com/philipp-spiess)
4748
* [Rachel Nabors](https://github.com/rachelnabors)
4849
* [Robert Zhang](https://github.com/robertzhidealx)
50+
* [Samuel Susla](https://github.com/sammy-SC)
4951
* [Sander Spies](https://github.com/sanderspies)
5052
* [Sasha Aickin](https://github.com/aickin)
5153
* [Sean Keegan](https://github.com/seanryankeegan)

src/content/community/conferences.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ Vous connaissez une conférence React.js locale ? Ajoutez-la ! (Merci de conse
1010

1111
## Conférences à venir {/*upcoming-conferences*/}
1212

13+
### React Summit 2024 {/*react-summit-2024*/}
14+
June 14 & 18, 2024. In-person in Amsterdam, Netherlands + remote (hybrid event)
15+
16+
[Site web](https://reactsummit.com/) - [Twitter](https://twitter.com/reactsummit) - [Vidéos](https://portal.gitnation.org/)
17+
1318
### React Paris 2024 {/*react-paris-2024*/}
1419
March 22, 2024. In-person in Paris, France + Remote (hybrid)
1520

@@ -20,6 +25,11 @@ April 19 - 20, 2024. In-person in Miami, FL, USA
2025

2126
[Site web](https://reactmiami.com/) - [Twitter](https://twitter.com/ReactMiamiConf)
2227

28+
### Epic Web Conf 2024 {/*epic-web-2024*/}
29+
April 10 - 11, 2024. In-person in Park City, UT, USA
30+
31+
[Site web](https://www.epicweb.dev/conf) - [YouTube](https://www.youtube.com/@EpicWebDev)
32+
2333
### App.js Conf 2024 {/*appjs-conf-2024*/}
2434
May 22 - 24, 2024. In-person in Kraków, Poland + remote
2535

src/content/community/team.md

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,6 @@ Les membres actuels de l'équipe React sont listés ci-dessous par ordre alphab
4242
Josh a étudié les Mathématiques et découvert la programmation pendant ses études. Son premier boulot de développeur professionnel consistait à calculer des taux d'assurance dans Microsoft Excel, ce parangon de Programmation Réactive, ce qui explique probablement pourquoi il bosse désormais sur React. Entre les deux Josh a été contributeur, manager voire directeur dans quelques startups. Hors du boulot, il aime se lancer des défis de cuisine.
4343
</TeamMember>
4444

45-
<TeamMember name="Kathryn Middleton" permalink="kathryn-middleton" photo="/images/team/kathryn-middleton.jpg" github="kmiddleton14" twitter="kmiddleton14" title="Manager d’ingénieurs chez Meta">
46-
Kathryn a d'abord découvert le développement web parce qu'elle voulait que sa page myspace ait l'air cool. Elle s'est retrouvée à faire des études d'informatique pour ensuite rapidement devenir fan de React en ajoutant des fonctionnalités au sein de l'équipe d'Instagram.com. Hors du boulot elle adore le ping-pong, enseigner le vélo de fitness intensif *(spinning, NdT)* et acheter des plantes.
47-
</TeamMember>
48-
4945
<TeamMember name="Lauren Tan" permalink="lauren-tan" photo="/images/team/lauren.jpg" github="poteto" twitter="potetotes" threads="potetotes" personal="no.lol" title="Ingénieure chez Meta">
5046
La carrière de développeuse de Lauren a atteint son sommet lorsqu'elle a découvert la balise `<marquee>`. Depuis, elle cherche à retrouver cette extase. Lorsqu'elle n'est pas en train d'ajouter des bugs à React, elle aime balancer des mèmes audacieux dans les forums internes, jouer à beaucoup trop de jeux vidéos avec l'amour de sa vie, et son chien Zelda.
5147
</TeamMember>
@@ -62,12 +58,12 @@ Les membres actuels de l'équipe React sont listés ci-dessous par ordre alphab
6258
Mofei a commencé à programmer dès qu'elle a réalisé que ça pouvait l'aider à tricher aux jeux vidéos. Ses études se sont concentrées sur les systèmes d'exploitation (OS), mais elle aime aujourd'hui triturer React. Hors du boulot, elle aime déboguer des problèmes d'escalade de bloc et planifier ses prochaines randonnées.
6359
</TeamMember>
6460

65-
<TeamMember name="Rick Hanlon" permalink="rick-hanlon" photo="/images/team/rickhanlonii.jpg" github="rickhanlonii" twitter="rickhanlonii" threads="rickhanlonii" personal="rickhanlon.codes" title="Ingénieur chez Meta">
66-
Ricky a étudié les maths théoriques puis s'est retrouvé on ne sait comment dans l'équipe React Native quelques années avant de rejoindre l'équipe React. Lorsqu'il n'est pas en train de coder, vous le trouverez à faire du snowboard, du vélo, de l'escalade, du golf, ou à fermer les tickets GitHub qui violent le gabarit demandé.
61+
<TeamMember name="Noah Lemen" permalink="noah-lemen" photo="/images/team/noahlemen.jpg" github="noahlemen" twitter="noahlemen" threads="noahlemen" personal="noahle.men" title="Ingénieur chez Meta">
62+
Noah a commencé à s'intéresser à la programmation d'UI lors de ses études en technologies musicales à NYU. Chez Meta, il a travaillé sur des outils internes, des navigateurs, la performance web, et se concentre actuellement sur React. Quand il n'est pas au boulot, Noah est généralement en train de triturer des synthétiseurs ou de passer du temps avec son chat.
6763
</TeamMember>
6864

69-
<TeamMember name="Samuel Susla" permalink="samuel-susla" photo="/images/team/sam.jpg" github="sammy-SC" twitter="SamuelSusla" threads="samuelsusla" title="Ingénieur chez Meta">
70-
Samuel a commencé à s'intéresser à la programmation avec le film Matrix. Encore aujourd'hui, Matrix est son économiseur d'écran. Avant de travailler sur React, il se concentrait sur l'écriture d'applis iOS. Quand il ne bosse pas, Samuel aime faire du beach volley, du squash, du badminton, et passer du temps en famille.
65+
<TeamMember name="Rick Hanlon" permalink="rick-hanlon" photo="/images/team/rickhanlonii.jpg" github="rickhanlonii" twitter="rickhanlonii" threads="rickhanlonii" personal="rickhanlon.codes" title="Ingénieur chez Meta">
66+
Ricky a étudié les maths théoriques puis s'est retrouvé on ne sait comment dans l'équipe React Native quelques années avant de rejoindre l'équipe React. Lorsqu'il n'est pas en train de coder, vous le trouverez à faire du snowboard, du vélo, de l'escalade, du golf, ou à fermer les tickets GitHub qui violent le gabarit demandé.
7167
</TeamMember>
7268

7369
<TeamMember name="Sathya Gunasekaran " permalink="sathya-gunasekaran" photo="/images/team/sathya.jpg" github="gsathya" twitter="_gsathya" threads="gsathya.03" title="Ingénieur chez Meta">

src/content/learn/adding-interactivity.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -645,7 +645,6 @@ Les tableaux sont un autre type d’objet modifiable en JavaScript que vous pouv
645645
```js
646646
import { useState } from 'react';
647647

648-
let nextId = 3;
649648
const initialList = [
650649
{ id: 0, title: 'Big Bellies', seen: false },
651650
{ id: 1, title: 'Lunar Landscape', seen: false },
@@ -713,7 +712,6 @@ Si la copie de tableaux dans le code devient fastidieuse, vous pouvez utiliser u
713712
import { useState } from 'react';
714713
import { useImmer } from 'use-immer';
715714

716-
let nextId = 3;
717715
const initialList = [
718716
{ id: 0, title: 'Big Bellies', seen: false },
719717
{ id: 1, title: 'Lunar Landscape', seen: false },

src/content/learn/thinking-in-react.md

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -485,12 +485,26 @@ function FilterableProductTable({ products }) {
485485
486486
Au sein de `SearchBar`, ajoutez des gestionnaires d'événements `onChange` à vos champs et utilisez-les pour modifier l'état du parent :
487487
488-
```js {5}
489-
<input
490-
type="text"
491-
value={filterText}
492-
placeholder="Recherche..."
493-
onChange={(e) => onFilterTextChange(e.target.value)} />
488+
```js {4,5,13,19}
489+
function SearchBar({
490+
filterText,
491+
inStockOnly,
492+
onFilterTextChange,
493+
onInStockOnlyChange
494+
}) {
495+
return (
496+
<form>
497+
<input
498+
type="text"
499+
value={filterText}
500+
placeholder="Recherche..."
501+
onChange={(e) => onFilterTextChange(e.target.value)}
502+
/>
503+
<label>
504+
<input
505+
type="checkbox"
506+
checked={inStockOnly}
507+
onChange={(e) => onInStockOnlyChange(e.target.checked)}
494508
```
495509
496510
À présent votre application fonctionne complètement !

src/content/reference/react-dom/hooks/useFormState.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Le Hook `useFormState` n'est actuellement disponible que sur les canaux de livra
1414
`useFormState` est un Hook qui vous permet de mettre à jour l'état sur base du résultat d'une action de formulaire.
1515

1616
```js
17-
const [state, formAction] = useFormState(fn, initialState);
17+
const [state, formAction] = useFormState(fn, initialState, permalink?);
1818
```
1919
2020
</Intro>
@@ -25,7 +25,7 @@ const [state, formAction] = useFormState(fn, initialState);
2525
2626
## Référence {/*reference*/}
2727
28-
### `useFormState(action, initialState)` {/*useformstate*/}
28+
### `useFormState(action, initialState, permalink?)` {/*useformstate*/}
2929
3030
{/* TODO T164397693: link to actions documentation once it exists */}
3131
@@ -59,6 +59,7 @@ Lorsque vous l'utilisez dans une Action Serveur, `useFormState` permet d'affiche
5959
6060
* `fn` : la fonction à appeler lorsque le formulaire est envoyé. Lorsque la fonction est appelée, elle reçoit comme premier argument l'état précédent du formulaire (le `initialState` que vous avez fourni pour le premier appel, puis, pour les appels ultérieurs, la valeur précédemment renvoyée), suivi par les arguments normalement acceptés par une fonction d'action de formulaire.
6161
* `initialState` : la valeur initiale que vous souhaitez pour votre état. Il peut s'agir de n'importe quelle valeur sérialisable. Cet argument est ignoré après l'appel initial de l'action.
62+
* `permalink` **optionnel** : une chaîne de caractères contenant l'URL unique de la page que ce formulaire modifie. Conçu pour une utilisation sur des pages à contenu dynamique (telles que des flux) pour permettre une amélioration progressive : si `fn` est une [Action Serveur](/reference/react/use-server) et que le formulaire est soumis avant que le *bundle* JavaScript n'ait fini son chargement, le navigateur ira sur l'URL de permalien fournie, plutôt que sur l'URL de la page courante. Ça permet de garantir que le même composant de formulaire sera produit sur la page destinataire (y compris les infos `fn` et `permalink`), afin que React sache comment lui passer l'état. Une fois le formulaire hydraté, ce paramètre n'a plus d'effet.
6263
6364
{/* TODO T164397693: link to serializable values docs once it exists */}
6465

0 commit comments

Comments
 (0)