Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync with react.dev @ 081d1008 #631

Merged
merged 10 commits into from
Feb 26, 2024
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
"check-all": "npm-run-all prettier lint:fix tsc"
},
"dependencies": {
"@codesandbox/sandpack-react": "2.6.0",
"@codesandbox/sandpack-react": "2.13.1",
"@docsearch/css": "3.0.0-alpha.41",
"@docsearch/react": "3.0.0-alpha.41",
"@headlessui/react": "^1.7.0",
Expand Down
2 changes: 1 addition & 1 deletion src/components/MDX/Sandpack/SandpackRoot.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ function SandpackRoot(props: SandpackProps) {
autorun,
initMode: 'user-visible',
initModeObserverOptions: {rootMargin: '1400px 0px'},
bundlerURL: 'https://1e4ad8f7.sandpack-bundler-4bw.pages.dev',
bundlerURL: 'https://786946de.sandpack-bundler-4bw.pages.dev',
logLevel: SandpackLogLevel.None,
}}>
<CustomPreset providedFiles={Object.keys(files)} />
Expand Down
16 changes: 16 additions & 0 deletions src/content/community/conferences.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,22 @@ July 17-19, 2024. In-person in Portland, OR, USA

[Site web](https://chainreactconf.com) - [Twitter](https://twitter.com/ChainReactConf)

### The Geek Conf 2024 {/*the-geek-conf-2024*/}
July 25, 2024. In-person in Berlin, Germany + remote (hybrid event)

[Site web](https://thegeekconf.com) - [Twitter](https://twitter.com/thegeekconf)

### React Universe Conf 2024 {/*react-universe-conf-2024*/}
September 5-6, 2024. Wrocław, Poland.

[Site web](https://www.reactuniverseconf.com/) - [Twitter](https://twitter.com/react_native_eu) - [LinkedIn](https://www.linkedin.com/events/reactuniverseconf7163919537074118657/)

### React Alicante 2024 {/*react-alicante-2024*/}
September 19-21, 2024. Alicante, Spain.

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


### React India 2024 {/*react-india-2024*/}
October 17 - 19, 2024. In-person in Goa, India (hybrid event) + Oct 15 2024 - remote day

Expand Down
4 changes: 2 additions & 2 deletions src/content/community/team.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ Les membres actuels de l'équipe React sont listés ci-dessous par ordre alphab
Andrey a commencé sa carrière comme designer pour progressivement passer au développement web. Après avoir rejoint l'équipe React Data chez Meta, il a travaillé à ajouter un compilateur incrémental JavaScript dans Relay… pour finir par le retirer plus tard. Hors du boulot, Andrey aime jouer de la musique et faire divers types de sports.
</TeamMember>

<TeamMember name="Dan Abramov" permalink="dan-abramov" photo="/images/team/gaearon.jpg" github="gaearon" twitter="dan_abramov" title="Ingénieur chez Meta">
Dans a commencé à programmer lorsqu'il a découvert par hasard qu'il y avait Visual Basic dans Microsoft Powerpoint. Il a découvert que sa véritable vocation consistait à transformer les tweets de [Sebastian](#sebastian-markbåge) en billets de blog interminables. Dan gagne parfois à Fortnite en se cachant dans un buisson jusqu'à la fin de la partie.
<TeamMember name="Dan Abramov" permalink="dan-abramov" photo="/images/team/gaearon.jpg" github="gaearon" twitter="dan_abramov" title="Ingénieur indépendant">
Dan a commencé à programmer lorsqu'il a découvert par hasard qu'il y avait Visual Basic dans Microsoft Powerpoint. Il a découvert que sa véritable vocation consistait à transformer les tweets de [Sebastian](#sebastian-markbåge) en billets de blog interminables. Dan gagne parfois à Fortnite en se cachant dans un buisson jusqu'à la fin de la partie.
</TeamMember>

<TeamMember name="Eli White" permalink="eli-white" photo="/images/team/eli-white.jpg" github="TheSavior" twitter="Eli_White" threads="elicwhite" title="Manager d’ingénieurs chez Meta">
Expand Down
2 changes: 0 additions & 2 deletions src/content/learn/choosing-the-state-structure.md
Original file line number Diff line number Diff line change
Expand Up @@ -557,8 +557,6 @@ button { margin-top: 10px; }

</Sandpack>

(Vous pouvez également garder l’index sélectionné dans l’état.)

L’état était dupliqué de cette façon :

* `items = [{ id: 0, title: 'pretzels'}, ...]`
Expand Down
57 changes: 28 additions & 29 deletions src/content/reference/react-dom/hooks/useFormStatus.md
Original file line number Diff line number Diff line change
Expand Up @@ -185,47 +185,32 @@ import {useFormStatus} from 'react-dom';
export default function UsernameForm() {
const {pending, data} = useFormStatus();

const [showSubmitted, setShowSubmitted] = useState(false);
const submittedUsername = useRef(null);
const timeoutId = useRef(null);

useMemo(() => {
if (pending) {
submittedUsername.current = data?.get('username');
if (timeoutId.current != null) {
clearTimeout(timeoutId.current);
}

timeoutId.current = setTimeout(() => {
timeoutId.current = null;
setShowSubmitted(false);
}, 2000);
setShowSubmitted(true);
}
}, [pending, data]);

return (
<>
<label>Réserver l’identifiant : </label><br />
<input type="text" name="username" />
<div>
<h3>Réserver l’identifiant : </h3><br />
<input type="text" name="username" disabled={pending} />
<button type="submit" disabled={pending}>
{pending ? 'Envoi en cours...' : 'Envoyer'}
Envoyer'}
</button>
{showSubmitted ? (
<p>Demande en cours pour l’identifiant : {submittedUsername.current}</p>
) : null}
</>
<br />
<p>{data ? `Récupération de ${data?.get('username')}...` : ''}</p>
</div>
);
}
```

```js src/App.js
import UsernameForm from './UsernameForm';
import { submitForm } from "./actions.js";
import { useRef } from 'react';

export default function App() {
const ref = useRef(null);
return (
<form action={submitForm}>
<form ref={ref} action={async (formData) => {
await submitForm(formData);
ref.current.reset();
}}>
<UsernameForm />
</form>
);
Expand All @@ -234,8 +219,22 @@ export default function App() {

```js src/actions.js hidden
export async function submitForm(query) {
await new Promise((res) => setTimeout(res, 1000));
await new Promise((res) => setTimeout(res, 2000));
}
```

```css
p {
height: 14px;
padding: 0;
margin: 2px 0 0 0 ;
font-size: 14px
}

button {
margin-left: 2px;
}

```

```json package.json hidden
Expand Down
4 changes: 2 additions & 2 deletions src/content/reference/react-dom/server/renderToNodeStream.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Cette API sera retirée d'une future version majeure de React. Utilisez plutôt
`renderToNodeStream` fait le rendu d'un arbre React dans un [flux Node.js en lecture](https://nodejs.org/api/stream.html#readable-streams).

```js
const stream = renderToNodeStream(reactNode)
const stream = renderToNodeStream(reactNode, options?)
```

</Intro>
Expand All @@ -24,7 +24,7 @@ const stream = renderToNodeStream(reactNode)

## Référence {/*reference*/}

### `renderToNodeStream(reactNode)` {/*rendertonodestream*/}
### `renderToNodeStream(reactNode, options?)` {/*rendertonodestream*/}

Côté serveur, appelez `renderToNodeStream` pour obtenir un [flux Node.js en lecture](https://nodejs.org/api/stream.html#readable-streams) que vous pouvez connecter *(pipe, NdT)* vers la réponse.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ title: renderToStaticMarkup
`renderToStaticMarkup` produit le HTML non interactif d'un arbre React.

```js
const html = renderToStaticMarkup(reactNode)
const html = renderToStaticMarkup(reactNode, options?)
```

</Intro>
Expand All @@ -18,7 +18,7 @@ const html = renderToStaticMarkup(reactNode)

## Référence {/*reference*/}

### `renderToStaticMarkup(reactNode)` {/*rendertostaticmarkup*/}
### `renderToStaticMarkup(reactNode, options?)` {/*rendertostaticmarkup*/}

Côté serveur, appelez `renderToStaticMarkup` pour produire le HTML de votre appli.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ title: renderToStaticNodeStream
`renderToStaticNodeStream` fait le rendu non interactif d'une arborescence React dans un [flux Node.js en lecture](https://nodejs.org/api/stream.html#readable-streams).

```js
const stream = renderToStaticNodeStream(reactNode)
const stream = renderToStaticNodeStream(reactNode, options?)
```

</Intro>
Expand All @@ -18,7 +18,7 @@ const stream = renderToStaticNodeStream(reactNode)

## Référence {/*reference*/}

### `renderToStaticNodeStream(reactNode)` {/*rendertostaticnodestream*/}
### `renderToStaticNodeStream(reactNode, options?)` {/*rendertostaticnodestream*/}

Côté serveur, appelez `renderToStaticNodeStream` pour obtenir un [flux Node.js en lecture](https://nodejs.org/api/stream.html#readable-streams).

Expand Down
4 changes: 2 additions & 2 deletions src/content/reference/react-dom/server/renderToString.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ title: renderToString
`renderToString` fait le rendu d'un arbre React sous forme de texte HTML.

```js
const html = renderToString(reactNode)
const html = renderToString(reactNode, options?)
```

</Intro>
Expand All @@ -24,7 +24,7 @@ const html = renderToString(reactNode)

## Référence {/*reference*/}

### `renderToString(reactNode)` {/*rendertostring*/}
### `renderToString(reactNode, options?)` {/*rendertostring*/}

Côté serveur, appelez `renderToString` pour produire le HTML de votre appli.

Expand Down
50 changes: 22 additions & 28 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -611,29 +611,29 @@
style-mod "^4.0.0"
w3c-keyname "^2.2.4"

"@codesandbox/[email protected].4":
version "0.1.4"
resolved "https://registry.yarnpkg.com/@codesandbox/nodebox/-/nodebox-0.1.4.tgz#1c9ed4caf6cda764500aec3d46b245e2e9b88ccc"
integrity sha512-+MR7JibjGjTRDmyQbL8Mliej6wakQP7q99+wGL/nOzd0Q3s+YWGQfv0QpYKbdMClKUTFJGvwzwOeqHVTkpWNCQ==
"@codesandbox/[email protected].8":
version "0.1.8"
resolved "https://registry.yarnpkg.com/@codesandbox/nodebox/-/nodebox-0.1.8.tgz#2dc701005cedefac386f17a69a4c9a4f38c2325d"
integrity sha512-2VRS6JDSk+M+pg56GA6CryyUSGPjBEe8Pnae0QL3jJF1mJZJVMDKr93gJRtBbLkfZN6LD/DwMtf+2L0bpWrjqg==
dependencies:
outvariant "^1.3.0"
outvariant "^1.4.0"
strict-event-emitter "^0.4.3"

"@codesandbox/sandpack-client@^2.6.0":
version "2.6.0"
resolved "https://registry.yarnpkg.com/@codesandbox/sandpack-client/-/sandpack-client-2.6.0.tgz#a266ac49843a0c3263ac065daaba473cb9565193"
integrity sha512-JFCe+MU+5E+nXazrNK1uS/zLV5l4UNkYQx7AjF9sJ5ZmUlshz1HRDiK/Tdp6W+3ahcSERF3dcYPCf46LJF8Yvw==
"@codesandbox/sandpack-client@^2.13.0":
version "2.13.0"
resolved "https://registry.yarnpkg.com/@codesandbox/sandpack-client/-/sandpack-client-2.13.0.tgz#c4e12628a3aceb4a2c99c501bea691b4276eab27"
integrity sha512-1rOLj9wkbBd3RV6/zRq+IV52egy22RQMKDTtdR+lQzy87uj0tlbYjAwtUZSjkioHlj6U8Y82uWLf71nvFIxE0g==
dependencies:
"@codesandbox/nodebox" "0.1.4"
"@codesandbox/nodebox" "0.1.8"
buffer "^6.0.3"
dequal "^2.0.2"
outvariant "1.3.0"
outvariant "1.4.0"
static-browser-server "1.0.3"

"@codesandbox/sandpack-react@2.6.0":
version "2.6.0"
resolved "https://registry.yarnpkg.com/@codesandbox/sandpack-react/-/sandpack-react-2.6.0.tgz#2c2d98b50c9db462a32831071de7e5e710d000c2"
integrity sha512-zSeJXzaVt96aIFfkyr+bMKBjV2k3hVcX+j1+aBRIOCpHhTrbszPesUmcE3yNTzGqqQfX/JnIJNRmeqFKmSLjTQ==
"@codesandbox/sandpack-react@2.13.1":
version "2.13.1"
resolved "https://registry.yarnpkg.com/@codesandbox/sandpack-react/-/sandpack-react-2.13.1.tgz#ba69a227d0c5157bb48685a02fefc0baa83bdc09"
integrity sha512-R8oGO4QHHWTyA7r6NWHtBakizgX+rl/Rc6cbQunXGNm4vV/lqqU4NS+MVp2rXA+c8DifOLi1wA2wUZUN//Z9bw==
dependencies:
"@codemirror/autocomplete" "^6.4.0"
"@codemirror/commands" "^6.1.3"
Expand All @@ -643,13 +643,12 @@
"@codemirror/language" "^6.3.2"
"@codemirror/state" "^6.2.0"
"@codemirror/view" "^6.7.1"
"@codesandbox/sandpack-client" "^2.6.0"
"@codesandbox/sandpack-client" "^2.13.0"
"@lezer/highlight" "^1.1.3"
"@react-hook/intersection-observer" "^3.1.1"
"@stitches/core" "^1.2.6"
anser "^2.1.1"
clean-set "^1.1.2"
codesandbox-import-util-types "^2.2.3"
dequal "^2.0.2"
escape-carriage "^1.3.1"
lz-string "^1.4.4"
Expand Down Expand Up @@ -1759,11 +1758,6 @@ [email protected]:
resolved "https://registry.yarnpkg.com/client-only/-/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1"
integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==

codesandbox-import-util-types@^2.2.3:
version "2.2.3"
resolved "https://registry.yarnpkg.com/codesandbox-import-util-types/-/codesandbox-import-util-types-2.2.3.tgz#b354b2f732ad130e119ebd9ead3bda3be5981a54"
integrity sha512-Qj00p60oNExthP2oR3vvXmUGjukij+rxJGuiaKM6tyUmSyimdZsqHI/TUvFFClAffk9s7hxGnQgWQ8KCce27qQ==

collapse-white-space@^1.0.2:
version "1.0.6"
resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287"
Expand Down Expand Up @@ -4625,16 +4619,16 @@ os-tmpdir@~1.0.2:
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=

[email protected]:
version "1.3.0"
resolved "https://registry.yarnpkg.com/outvariant/-/outvariant-1.3.0.tgz#c39723b1d2cba729c930b74bf962317a81b9b1c9"
integrity sha512-yeWM9k6UPfG/nzxdaPlJkB2p08hCg4xP6Lx99F+vP8YF7xyZVfTmJjrrNalkmzudD4WFvNLVudQikqUmF8zhVQ==

outvariant@^1.3.0:
[email protected], outvariant@^1.3.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/outvariant/-/outvariant-1.4.0.tgz#e742e4bda77692da3eca698ef5bfac62d9fba06e"
integrity sha512-AlWY719RF02ujitly7Kk/0QlV+pXGFDHrHf9O2OKqyqgBieaPOIeuSkL8sRK6j2WK+/ZAURq2kZsY0d8JapUiw==

outvariant@^1.4.0:
version "1.4.2"
resolved "https://registry.yarnpkg.com/outvariant/-/outvariant-1.4.2.tgz#f54f19240eeb7f15b28263d5147405752d8e2066"
integrity sha512-Ou3dJ6bA/UJ5GVHxah4LnqDwZRwAmWxrG3wtrHrbGnP4RnLCtA64A4F+ae7Y8ww660JaddSoArUR5HjipWSHAQ==

p-limit@^1.1.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
Expand Down
Loading