Skip to content
2 changes: 1 addition & 1 deletion src/components/MDX/ErrorDecoder.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ function replaceArgs(
return msg.replace(/%s/g, function () {
const arg = argList[argIdx++];
// arg can be an empty string: ?args[0]=&args[1]=count
return arg === undefined || arg === '' ? replacer : arg;
return arg === undefined ? replacer : arg;
});
}

Expand Down
7 changes: 7 additions & 0 deletions src/components/MDX/Sandpack/SandpackRoot.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,13 @@ function SandpackRoot(props: SandpackProps) {
const codeSnippets = Children.toArray(children) as React.ReactElement[];
const files = createFileMap(codeSnippets);

if ('/index.html' in files) {
throw new Error(
'You cannot use `index.html` file in sandboxes. ' +
'Only `public/index.html` is respected by Sandpack and CodeSandbox (where forks are created).'
);
}

files['/src/styles.css'] = {
code: [sandboxStyle, files['/src/styles.css']?.code ?? ''].join('\n\n'),
hidden: !files['/src/styles.css']?.visible,
Expand Down
39 changes: 35 additions & 4 deletions src/content/community/conferences.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,28 +10,59 @@ Do you know of a local React.js conference? Add it here! (Please keep the list c

## Upcoming Conferences {/*upcoming-conferences*/}

### React Day Berlin 2024 {/*react-day-berlin-2024*/}
December 13 & 16, 2024. In-person in Berlin, Germany + remote (hybrid event)
### React Paris 2025 {/*react-paris-2025*/}
March 20 - 21, 2025. In-person in Paris, France (hybrid event)

[Website](https://reactday.berlin/) - [Twitter](https://x.com/reactdayberlin)
[Website](https://react.paris/) - [Twitter](https://x.com/BeJS_)

### React Native Connection 2025 {/*react-native-connection-2025*/}
April 3 (Reanimated Training) + April 4 (Conference), 2025. Paris, France.

[Website](https://reactnativeconnection.io/) - [X](https://x.com/reactnativeconn) - [Bluesky](https://bsky.app/profile/reactnativeconnect.bsky.social)

### CityJS London 2025 {/*cityjs-london*/}
April 23 - 25, 2025. In-person in London, UK

[Website](https://london.cityjsconf.org/) - [Twitter](https://x.com/cityjsconf) - [Bluesky](https://bsky.app/profile/cityjsconf.bsky.social)

### App.js Conf 2025 {/*appjs-conf-2025*/}
May 28 - 30, 2025. In-person in Kraków, Poland + remote

[Website](https://appjs.co) - [Twitter](https://twitter.com/appjsconf)

### CityJS Athens 2025 {/*cityjs-athens*/}
May 27 - 31, 2025. In-person in Athens, Greece

[Website](https://athens.cityjsconf.org/) - [Twitter](https://x.com/cityjsconf) - [Bluesky](https://bsky.app/profile/cityjsconf.bsky.social)

### React Summit 2025 {/*react-summit-2025*/}
June 13 - 17, 2025. In-person in Amsterdam, Netherlands + remote (hybrid event)

[Website](https://reactsummit.com/) - [Twitter](https://x.com/reactsummit)

### React Nexus 2025 {/*react-nexus-2025*/}
July 03 - 05, 2025. In-person in Bangalore, India

[Website](https://reactnexus.com/) - [Twitter](https://x.com/ReactNexus) - [Bluesky](https://bsky.app/profile/reactnexus.com) - [Linkedin](https://www.linkedin.com/company/react-nexus) - [YouTube](https://www.youtube.com/reactify_in)

### React Universe Conf 2025 {/*react-universe-conf-2025*/}
September 2-4, 2025. Wrocław, Poland.

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

### React India 2025 {/*react-india-2025*/}
October 31 - November 01, 2025. In-person in Goa, India (hybrid event) + Oct 15 2025 - remote day

[Website](https://www.reactindia.io) - [Twitter](https://twitter.com/react_india) - [Facebook](https://www.facebook.com/ReactJSIndia) - [Youtube](https://www.youtube.com/channel/UCaFbHCBkPvVv1bWs_jwYt3w)


## Past Conferences {/*past-conferences*/}

### React Day Berlin 2024 {/*react-day-berlin-2024*/}
December 13 & 16, 2024. In-person in Berlin, Germany + remote (hybrid event)

[Website](https://reactday.berlin/) - [Twitter](https://x.com/reactdayberlin)

### React Africa 2024 {/*react-africa-2024*/}
November 29, 2024. In-person in Casablanca, Morocco (hybrid event)

Expand Down Expand Up @@ -60,7 +91,7 @@ October 25, 2024. In-person in Verona, Italy + online (hybrid event)
### React Brussels 2024 {/*react-brussels-2024*/}
October 18, 2024. In-person in Brussels, Belgium (hybrid event)

[Website](https://www.react.brussels/) - [Twitter](https://x.com/BrusselsReact)
[Website](https://www.react.brussels/) - [Twitter](https://x.com/BrusselsReact) - [YouTube](https://www.youtube.com/playlist?list=PL53Z0yyYnpWimQ0U75woee2zNUIFsiDC3)

### React India 2024 {/*react-india-2024*/}
October 17 - 19, 2024. In-person in Goa, India (hybrid event) + Oct 15 2024 - remote day
Expand Down
6 changes: 6 additions & 0 deletions src/content/community/meetups.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,9 @@ Do you have a local React.js meetup? Add it here! (Please keep the list alphabet
* [React Advanced London](https://guild.host/react-advanced-london)
* [React Native London](https://guild.host/RNLDN)

## Finland {/*finland*/}
* [Helsinki](https://www.meetabit.com/communities/react-helsinki)

## France {/*france*/}
* [Lille](https://www.meetup.com/ReactBeerLille/)
* [Paris](https://www.meetup.com/ReactJS-Paris/)
Expand Down Expand Up @@ -136,6 +139,9 @@ Do you have a local React.js meetup? Add it here! (Please keep the list alphabet
## Spain {/*spain*/}
* [Barcelona](https://www.meetup.com/ReactJS-Barcelona/)

## Sri Lanka {/*sri-lanka*/}
* [Colombo](https://www.javascriptcolombo.com/)

## Sweden {/*sweden*/}
* [Goteborg](https://www.meetup.com/ReactJS-Goteborg/)
* [Stockholm](https://www.meetup.com/Stockholm-ReactJS-Meetup/)
Expand Down
7 changes: 4 additions & 3 deletions src/content/learn/add-react-to-an-existing-project.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,12 +58,13 @@ npm install react react-dom

<Sandpack>

```html index.html hidden
```html public/index.html hidden
<!DOCTYPE html>
<html>
<head><title>My app</title></head>
<body>
<!-- 기존 페이지 컨텐츠 (이 예시에서는 이 부분이 대체됩니다)-->
<!-- Your existing page content (in this example, it gets replaced) -->
<div id="root"></div>
</body>
</html>
```
Expand Down Expand Up @@ -121,7 +122,7 @@ root.render(<h1>Hello, world</h1>);

<Sandpack>

```html index.html
```html public/index.html
<!DOCTYPE html>
<html>
<head><title>My app</title></head>
Expand Down
8 changes: 4 additions & 4 deletions src/content/reference/react-dom/client/createRoot.md
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ root.render(<App />);

<Sandpack>

```html index.html
```html public/index.html
<!DOCTYPE html>
<html>
<head><title>My app</title></head>
Expand Down Expand Up @@ -372,7 +372,7 @@ You can use the `onUncaughtError` root option to display error dialogs:

<Sandpack>

```html index.html hidden
```html public/index.html hidden
<!DOCTYPE html>
<html>
<head>
Expand Down Expand Up @@ -603,7 +603,7 @@ You can use the `onCaughtError` root option to display error dialogs or filter k

<Sandpack>

```html index.html hidden
```html public/index.html hidden
<!DOCTYPE html>
<html>
<head>
Expand Down Expand Up @@ -882,7 +882,7 @@ You can use the `onRecoverableError` root option to display error dialogs:

<Sandpack>

```html index.html hidden
```html public/index.html hidden
<!DOCTYPE html>
<html>
<head>
Expand Down
6 changes: 3 additions & 3 deletions src/content/reference/react-dom/client/hydrateRoot.md
Original file line number Diff line number Diff line change
Expand Up @@ -401,7 +401,7 @@ root.render(<App />);

<Sandpack>

```html index.html hidden
```html public/index.html hidden
<!DOCTYPE html>
<html>
<head>
Expand Down Expand Up @@ -634,7 +634,7 @@ root.render(<App />);

<Sandpack>

```html index.html hidden
```html public/index.html hidden
<!DOCTYPE html>
<html>
<head>
Expand Down Expand Up @@ -914,7 +914,7 @@ Hydration 불일치에 대한 대화 상자를 표시하려면 `onRecoverableErr

<Sandpack>

```html index.html hidden
```html public/index.html hidden
<!DOCTYPE html>
<html>
<head>
Expand Down
2 changes: 1 addition & 1 deletion src/content/reference/react-dom/createPortal.md
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,7 @@ Portal은 React 루트가 React로 빌드되지 않은 정적 또는 서버 렌

<Sandpack>

```html index.html
```html public/index.html
<!DOCTYPE html>
<html>
<head><title>My app</title></head>
Expand Down
2 changes: 1 addition & 1 deletion src/content/reference/react/useId.md
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ input { margin: 5px; }

<Sandpack>

```html index.html
```html public/index.html
<!DOCTYPE html>
<html>
<head><title>My app</title></head>
Expand Down