diff --git a/package.json b/package.json
index f75ffbb2..274c2506 100644
--- a/package.json
+++ b/package.json
@@ -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",
diff --git a/src/components/MDX/Sandpack/SandpackRoot.tsx b/src/components/MDX/Sandpack/SandpackRoot.tsx
index d47fd903..a47fa686 100644
--- a/src/components/MDX/Sandpack/SandpackRoot.tsx
+++ b/src/components/MDX/Sandpack/SandpackRoot.tsx
@@ -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,
}}>
diff --git a/src/content/community/conferences.md b/src/content/community/conferences.md
index 8d137021..a28d6084 100644
--- a/src/content/community/conferences.md
+++ b/src/content/community/conferences.md
@@ -70,6 +70,22 @@ July 17-19, 2024. In-person in Portland, OR, USA
[Website](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)
+
+[Website](https://thegeekconf.com) - [Twitter](https://twitter.com/thegeekconf)
+
+### React Universe Conf 2024 {/*react-universe-conf-2024*/}
+September 5-6, 2024. Wrocław, Poland.
+
+[Website](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.
+
+[Website](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
diff --git a/src/content/community/team.md b/src/content/community/team.md
index 0c6c63a8..9ef95d64 100644
--- a/src/content/community/team.md
+++ b/src/content/community/team.md
@@ -22,7 +22,7 @@ Current members of the React team are listed in alphabetical order below.
Andrey started his career as a designer and then gradually transitioned into web development. After joining the React Data team at Meta he worked on adding an incremental JavaScript compiler to Relay, and then later on, worked on removing the same compiler from Relay. Outside of work, Andrey likes to play music and engage in various sports.
-
+
Dan got into programming after he accidentally discovered Visual Basic inside Microsoft PowerPoint. He has found his true calling in turning [Sebastian](#sebastian-markbåge)'s tweets into long-form blog posts. Dan occasionally wins at Fortnite by hiding in a bush until the game ends.
diff --git a/src/content/learn/choosing-the-state-structure.md b/src/content/learn/choosing-the-state-structure.md
index c3218589..5be2b4d3 100644
--- a/src/content/learn/choosing-the-state-structure.md
+++ b/src/content/learn/choosing-the-state-structure.md
@@ -554,8 +554,6 @@ button { margin-top: 10px; }
-(Alternatively, you may hold the selected index in state.)
-
The state used to be duplicated like this:
* `items = [{ id: 0, title: 'pretzels'}, ...]`
diff --git a/src/content/reference/react-dom/hooks/useFormStatus.md b/src/content/reference/react-dom/hooks/useFormStatus.md
index 8733ec0c..70feceae 100644
--- a/src/content/reference/react-dom/hooks/useFormStatus.md
+++ b/src/content/reference/react-dom/hooks/useFormStatus.md
@@ -182,36 +182,16 @@ 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 (
- <>
-
-
+
+
Request a Username:
+
- {showSubmitted ? (
-
Submitted request for username: {submittedUsername.current}