Skip to content

Commit 200bb83

Browse files
merging all conflicts
2 parents 9b9a51b + a0cacd7 commit 200bb83

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+1142
-30
lines changed

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
"next-remote-watch": "^1.0.0",
3737
"parse-numeric-range": "^1.2.0",
3838
"react": "^0.0.0-experimental-16d053d59-20230506",
39-
"react-collapsed": "npm:@gaearon/[email protected]",
39+
"react-collapsed": "4.0.4",
4040
"react-dom": "^0.0.0-experimental-16d053d59-20230506",
4141
"remark-frontmatter": "^4.0.1",
4242
"remark-gfm": "^3.0.1"
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
11.7 KB
Loading
12.3 KB
Loading

src/components/Layout/Sidebar/SidebarRouteTree.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import {useRef, useLayoutEffect, Fragment} from 'react';
77
import cn from 'classnames';
88
import {useRouter} from 'next/router';
99
import {SidebarLink} from './SidebarLink';
10-
import useCollapse from 'react-collapsed';
10+
import {useCollapse} from 'react-collapsed';
1111
import usePendingRoute from 'hooks/usePendingRoute';
1212
import type {RouteItem} from 'components/Layout/getRouteMeta';
1313

src/components/Seo.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ const deployedTranslations = [
2222
'zh-hans',
2323
'es',
2424
'fr',
25+
'ja',
2526
// We'll add more languages when they have enough content.
2627
// Please DO NOT edit this list without a discussion in the reactjs/react.dev repo.
2728
// It must be the same between all translations.

src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ June 15, 2022 by [Andrew Clark](https://twitter.com/acdlite), [Dan Abramov](http
88

99
<Intro>
1010

11-
[React 18](https://reactjs.org/blog/2022/03/29/react-v18) was years in the making, and with it brought valuable lessons for the React team. Its release was the result of many years of research and exploring many paths. Some of those paths were successful; many more were dead-ends that led to new insights. One lesson we’ve learned is that it’s frustrating for the community to wait for new features without having insight into these paths that we’re exploring.
11+
[React 18](https://react.dev/blog/2022/03/29/react-v18) was years in the making, and with it brought valuable lessons for the React team. Its release was the result of many years of research and exploring many paths. Some of those paths were successful; many more were dead-ends that led to new insights. One lesson we’ve learned is that it’s frustrating for the community to wait for new features without having insight into these paths that we’re exploring.
1212

1313
</Intro>
1414

src/content/community/conferences.md

+5-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ October 27th 2023. In-person in Verona, Italy and online (hybrid event)
5555

5656
[Website](https://2023.reactjsday.it/) - [Twitter](https://twitter.com/reactjsday) - [Facebook](https://www.facebook.com/GrUSP/) - [YouTube](https://www.youtube.com/c/grusp)
5757

58-
5958
### React Summit US 2023 {/*react-summit-us-2023*/}
6059
November 13 & 15, 2023. In-person in New York, US + remote first interactivity (hybrid event)
6160

@@ -66,6 +65,11 @@ December 8 & 12, 2023. In-person in Berlin, Germany + remote first interactivity
6665

6766
[Website](https://reactday.berlin) - [Twitter](https://twitter.com/reactdayberlin) - [Facebook](https://www.facebook.com/reactdayberlin/) - [Videos](https://portal.gitnation.org/events/react-day-berlin-2023)
6867

68+
### App.js Conf 2024 {/*appjs-conf-2024*/}
69+
May 22 - 24, 2024. In-person in Kraków, Poland + remote
70+
71+
[Website](https://appjs.co) - [Twitter](https://twitter.com/appjsconf)
72+
6973
### Render(ATL) 2024 🍑 {/*renderatl-2024-*/}
7074
June 12 - June 14, 2024. Atlanta, GA, USA
7175

src/content/community/meetups.md

+1
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ Do you have a local React.js meetup? Add it here! (Please keep the list alphabet
4848
* [Montreal, QC - React Native](https://www.meetup.com/fr-FR/React-Native-MTL/)
4949
* [Vancouver, BC](https://www.meetup.com/ReactJS-Vancouver-Meetup/)
5050
* [Ottawa, ON](https://www.meetup.com/Ottawa-ReactJS-Meetup/)
51+
* [Saskatoon, SK](https://www.meetup.com/saskatoon-react-meetup/)
5152
* [Toronto, ON](https://www.meetup.com/Toronto-React-Native/events/)
5253

5354
## Chile {/*chile*/}

src/content/learn/describing-the-ui.md

+39
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ React on JavaScript kirjasto käyttöliittymien (UI) renderöintiin. Käyttölii
1010

1111
<YouWillLearn isChapter={true}>
1212

13+
<<<<<<< HEAD
1314
- [Miten kirjoitat ensimmäisen komponenttisi](/learn/your-first-component)
1415
- [Miten ja milloin luot monikomponenttisia tiedostoja](/learn/importing-and-exporting-components)
1516
- [Miten lisäät merkintäkoodia JavaScriptiin JSX hyödyntäen](/learn/writing-markup-with-jsx)
@@ -18,6 +19,17 @@ React on JavaScript kirjasto käyttöliittymien (UI) renderöintiin. Käyttölii
1819
- [Miten renderöidä ehdollisesti komponentteja](/learn/conditional-rendering)
1920
- [Miten renderöidä useita komponentteja samanaikaisesti](/learn/rendering-lists)
2021
- [Miten välttää bugeja pitämällä komponentit puhtaina](/learn/keeping-components-pure)
22+
=======
23+
* [How to write your first React component](/learn/your-first-component)
24+
* [When and how to create multi-component files](/learn/importing-and-exporting-components)
25+
* [How to add markup to JavaScript with JSX](/learn/writing-markup-with-jsx)
26+
* [How to use curly braces with JSX to access JavaScript functionality from your components](/learn/javascript-in-jsx-with-curly-braces)
27+
* [How to configure components with props](/learn/passing-props-to-a-component)
28+
* [How to conditionally render components](/learn/conditional-rendering)
29+
* [How to render multiple components at a time](/learn/rendering-lists)
30+
* [How to avoid confusing bugs by keeping components pure](/learn/keeping-components-pure)
31+
* [Why understanding your UI as trees is useful](/learn/understanding-your-ui-as-a-tree)
32+
>>>>>>> a0cacd7d3a89375e5689ccfba0461e293bfe9eeb
2133
2234
</YouWillLearn>
2335

@@ -519,7 +531,34 @@ Lue **[Komponenttien pitäminen puhtaana](/learn/keeping-components-pure)** oppi
519531
520532
</LearnMore>
521533
534+
<<<<<<< HEAD
522535
## Mitä seuraavaksi? {/*whats-next*/}
536+
=======
537+
## Your UI as a tree {/*your-ui-as-a-tree*/}
538+
539+
React uses trees to model the relationships between components and modules.
540+
541+
A React render tree is a representation of the parent and child relationship between components.
542+
543+
<Diagram name="generic_render_tree" height={250} width={500} alt="A tree graph with five nodes, with each node representing a component. The root node is located at the top the tree graph and is labelled 'Root Component'. It has two arrows extending down to two nodes labelled 'Component A' and 'Component C'. Each of the arrows is labelled with 'renders'. 'Component A' has a single 'renders' arrow to a node labelled 'Component B'. 'Component C' has a single 'renders' arrow to a node labelled 'Component D'.">An example React render tree.</Diagram>
544+
545+
Components near the top of the tree, near the root component, are considered top-level components. Components with no child components are leaf components. This categorization of components is useful for understanding data flow and rendering performance.
546+
547+
Modelling the relationship between JavaScript modules is another useful way to understand your app. We refer to it as a module dependency tree.
548+
549+
<Diagram name="generic_dependency_tree" height={250} width={500} alt="A tree graph with five nodes. Each node represents a JavaScript module. The top-most node is labelled 'RootModule.js'. It has three arrows extending to the nodes: 'ModuleA.js', 'ModuleB.js', and 'ModuleC.js'. Each arrow is labelled as 'imports'. 'ModuleC.js' node has a single 'imports' arrow that points to a node labelled 'ModuleD.js'.">An example module dependency tree.</Diagram>
550+
551+
A dependency tree is often used by build tools to bundle all the relevant JavaScript code for the client to download and render. A large bundle size regresses user experience for React apps. Understanding the module dependency tree is helpful to debug such issues.
552+
553+
<LearnMore path="/learn/understanding-your-ui-as-a-tree">
554+
555+
Read **[Your UI as a Tree](/learn/understanding-your-ui-as-a-tree)** to learn how to create a render and module dependency trees for a React app and how they're useful mental models for improving user experience and performance.
556+
557+
</LearnMore>
558+
559+
560+
## What's next? {/*whats-next*/}
561+
>>>>>>> a0cacd7d3a89375e5689ccfba0461e293bfe9eeb
523562
524563
Siirry seuraavaksi [Ensimmäinen komponenttisi](/learn/your-first-component) lukeaksesi tämän luvun sivu kerrallaan!
525564

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

+21
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ Tila on eristetty komponenttien välillä. React pitää kirjaa siitä, mikä ti
1010

1111
<YouWillLearn>
1212

13+
<<<<<<< HEAD
1314
* Miten React "näkee" komponentin rakenteen
1415
* Milloin React päättää säilyttää tai nollata tilan
1516
* Miten pakottaa React nollaamaan komponentin tila
@@ -38,6 +39,21 @@ Komponenteista React luo käyttöliittymäpuun, jota React DOM käyttää render
3839
Kun annat komponentille tilan, saatat ajatella, että tila "asuu" komponentin sisällä. Mutta tila oikeasti pidetään Reactin sisällä. React yhdistää jokaisen hallussa olevan tilatiedon oikeaan komponenttiin sen mukaan, missä kohtaa käyttöliittymäpuuta kyseinen komponentti sijaitsee.
3940

4041
Tässä esimerkissä on vain yksi `<Counter />` JSX tagi, mutta se on renderöity kahdessa eri kohdassa:
42+
=======
43+
* When React chooses to preserve or reset the state
44+
* How to force React to reset component's state
45+
* How keys and types affect whether the state is preserved
46+
47+
</YouWillLearn>
48+
49+
## State is tied to a position in the render tree {/*state-is-tied-to-a-position-in-the-tree*/}
50+
51+
React builds [render trees](learn/understanding-your-ui-as-a-tree#the-render-tree) for the component structure in your UI.
52+
53+
When you give a component state, you might think the state "lives" inside the component. But the state is actually held inside React. React associates each piece of state it's holding with the correct component by where that component sits in the render tree.
54+
55+
Here, there is only one `<Counter />` JSX tag, but it's rendered at two different positions:
56+
>>>>>>> a0cacd7d3a89375e5689ccfba0461e293bfe9eeb
4157
4258
<Sandpack>
4359

@@ -188,7 +204,12 @@ Tilan päivittäminen
188204

189205
</DiagramGroup>
190206

207+
<<<<<<< HEAD
191208
React pitää tilan muistissa niin kauan kuin renderlit samaa komponenttia samassa sijainnissa. Tämän nähdäksesi, korota molempia laskureita ja sitten poista toinen komponentti poistamalla valinta "Render the second counter" valintaruudusta, ja sitten lisää se takaisin valitsemalla se uudelleen:
209+
=======
210+
211+
React will keep the state around for as long as you render the same component at the same position in the tree. To see this, increment both counters, then remove the second component by unchecking "Render the second counter" checkbox, and then add it back by ticking it again:
212+
>>>>>>> a0cacd7d3a89375e5689ccfba0461e293bfe9eeb
192213
193214
<Sandpack>
194215

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

+4
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,11 @@ Sinun ei myöskään tarvitse huolehtia [mutaatioiden välttämistä](/learn/upd
284284

285285
## Ref ja DOM {/*refs-and-the-dom*/}
286286

287+
<<<<<<< HEAD
287288
Voit osoittaa refin mihin tahansa arvoon. Kuitenkin yleisin käyttökohde refille on DOM elementin käsittely. Esimerkiksi, tämä on kätevää jos haluat focusoida syöttölaatikon ohjelmakoodissa. Kun annat refin `ref`-attribuuttiin JSX:ssä, kuten `<div ref={myRef}>`, React asettaa vastaavan DOM elementin `myRef.current`:iin. Voit lukea lisää tästä [Manipulating the DOM with Refs.](/learn/manipulating-the-dom-with-refs)
289+
=======
290+
You can point a ref to any value. However, the most common use case for a ref is to access a DOM element. For example, this is handy if you want to focus an input programmatically. When you pass a ref to a `ref` attribute in JSX, like `<div ref={myRef}>`, React will put the corresponding DOM element into `myRef.current`. Once the element is removed from the DOM, React will update `myRef.current` to be `null`. You can read more about this in [Manipulating the DOM with Refs.](/learn/manipulating-the-dom-with-refs)
291+
>>>>>>> a0cacd7d3a89375e5689ccfba0461e293bfe9eeb
288292
289293
<Recap>
290294

src/content/learn/rendering-lists.md

+4
Original file line numberDiff line numberDiff line change
@@ -1086,7 +1086,11 @@ Tässä `<Recipe {...recipe} key={recipe.id} />` on lyhytsyntaksi joka "välitt
10861086

10871087
#### Listat erottimella {/*list-with-a-separator*/}
10881088

1089+
<<<<<<< HEAD
10891090
Tämä esimerkki renderöi kuuluisan Katsushika Hokusain haikun, jokaisen rivin ollessa kääritty `<p>` tagin sisään. Tehtäväsi on sijoittaa `<hr />` erotin jokaisen kappaleen jälkeen. Lopputuloksen rakennelman pitäisi näyttää tältä:
1091+
=======
1092+
This example renders a famous haiku by Tachibana Hokushi, with each line wrapped in a `<p>` tag. Your job is to insert an `<hr />` separator between each paragraph. Your resulting structure should look like this:
1093+
>>>>>>> a0cacd7d3a89375e5689ccfba0461e293bfe9eeb
10901094
10911095
```js
10921096
<article>

src/content/learn/start-a-new-react-project.md

+11-1
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,16 @@ Jos haluat rakentaa uuden sovelluksen tai verkkosivuston täysin Reactilla, suos
2121
**[Next.js](https://nextjs.org/) on full-stack React-ohjelmistokehys.** Se on monipuolinen ja antaa sinun luoda React-sovelluksia mistä tahansa koosta--lähes staattisesta blogista monimutkaiseen dynaamiseen sovellukseen. Luodaksesi uuden Next.js-projektin, aja terminaalissa:
2222

2323
<TerminalBlock>
24-
npx create-next-app
24+
npx create-next-app@latest
2525
</TerminalBlock>
2626

2727
Jos olet uusi Next.js:ään, tutustu [Next.js tutoriaaliin.](https://nextjs.org/learn/foundations/about-nextjs)
2828

29+
<<<<<<< HEAD
2930
Next.js:ää ylläpitää [Vercel](https://vercel.com/). Voit [julkaista Next.js-sovelluksen](https://nextjs.org/docs/deployment) mihin tahansa Node.js- tai serverless-ympäristöön, tai omalla palvelimellasi. [Täysin staattiset Next.js-sovellukset](https://nextjs.org/docs/advanced-features/static-html-export) voidaan julkaista missö tahansa staattisessa hosting-ympäristössä.
31+
=======
32+
Next.js is maintained by [Vercel](https://vercel.com/). You can [deploy a Next.js app](https://nextjs.org/docs/app/building-your-application/deploying) to any Node.js or serverless hosting, or to your own server. Next.js also supports a [static export](https://nextjs.org/docs/pages/building-your-application/deploying/static-exports) which doesn't require a server.
33+
>>>>>>> a0cacd7d3a89375e5689ccfba0461e293bfe9eeb
3034
3135
### Remix {/*remix*/}
3236

@@ -89,6 +93,7 @@ Nämä ominaisuudet ovat lähempänä tuotantokäyttöä joka päivä, ja olemme
8993

9094
### Next.js (App Router) {/*nextjs-app-router*/}
9195

96+
<<<<<<< HEAD
9297
**[Next.js's App Router](https://beta.nextjs.org/docs/getting-started) on Next.js:n API:en uudelleensuunnittelu, joka tähtää React-tiimin full-stack arkkitehtuurin visioon.** Se antaa sinun hakea dataa asynkronisissa komponenteissa, jotka suoritetaan palvelimella tai jopa rakennusaikana.
9398

9499
Next.js:ää ylläpitää [Vercel](https://vercel.com/). Voit [julkaista Next.js-sovelluksen](https://nextjs.org/docs/deployment) mihin tahansa Node.js- tai serverless-ympäristöön, tai omalla palvelimellasi. Next.js tukee myös [staattista vientiä](https://nextjs.org/docs/advanced-features/static-html-export), joka ei vaadi palvelinta.
@@ -97,6 +102,11 @@ Next.js:ää ylläpitää [Vercel](https://vercel.com/). Voit [julkaista Next.js
97102
**Next.js:n App Router on tällä hetkellä beta-vaiheessa eikä sitä vielä suositella tuotantokäyttöön** (maaliskuussa 2023). Kokeillaksesi sitä olemassa olevassa Next.js-projektissa, [seuraa tätä ohjeistusta](https://beta.nextjs.org/docs/upgrade-guide#migrating-from-pages-to-app).
98103

99104
</Pitfall>
105+
=======
106+
**[Next.js's App Router](https://nextjs.org/docs) is a redesign of the Next.js APIs aiming to fulfill the React team’s full-stack architecture vision.** It lets you fetch data in asynchronous components that run on the server or even during the build.
107+
108+
Next.js is maintained by [Vercel](https://vercel.com/). You can [deploy a Next.js app](https://nextjs.org/docs/app/building-your-application/deploying) to any Node.js or serverless hosting, or to your own server. Next.js also supports [static export](https://nextjs.org/docs/app/building-your-application/deploying/static-exports) which doesn't require a server.
109+
>>>>>>> a0cacd7d3a89375e5689ccfba0461e293bfe9eeb
100110
101111
<DeepDive>
102112

src/content/learn/tutorial-tic-tac-toe.md

+10
Original file line numberDiff line numberDiff line change
@@ -2075,7 +2075,17 @@ export default function Game() {
20752075
}
20762076
```
20772077
2078+
<<<<<<< HEAD
20782079
Voit nähdä miltä koodisi tulisi näyttää alla. Huomaa, että sinun tulisi nähdä virhe kehittäjätyökalujen konsolissa, joka sanoo: ``Warning: Each child in an array or iterator should have a unique "key" prop. Check the render method of `Game`.`` Korjaat tämän virheen seuraavassa osiossa.
2080+
=======
2081+
You can see what your code should look like below. Note that you should see an error in the developer tools console that says:
2082+
2083+
<ConsoleBlock level="warning">
2084+
Warning: Each child in an array or iterator should have a unique "key" prop. Check the render method of &#96;Game&#96;.
2085+
</ConsoleBlock>
2086+
2087+
You'll fix this error in the next section.
2088+
>>>>>>> a0cacd7d3a89375e5689ccfba0461e293bfe9eeb
20792089
20802090
<Sandpack>
20812091

src/content/learn/typescript.md

+9-1
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,11 @@ export default App = AppTSX;
284284

285285
</Sandpack>
286286

287+
<<<<<<< HEAD
287288
Tämä tekniikka toimii kun sinulla on oletusarvo joka on järkevä - mutta on tapauksia jolloin sitä ei ole, ja näissä tapauksissa `null` voi tuntua järkevältä oletusarvolta. Kuitenkin, jotta tyyppijärjestelmä ymmärtäisi koodisi, sinun täytyy eksplisiittisesti asettaa `ContextShape | null` `createContext`:lle.
289+
=======
290+
This technique works when you have a default value which makes sense - but there are occasionally cases when you do not, and in those cases `null` can feel reasonable as a default value. However, to allow the type-system to understand your code, you need to explicitly set `ContextShape | null` on the `createContext`.
291+
>>>>>>> a0cacd7d3a89375e5689ccfba0461e293bfe9eeb
288292
289293
Tämä aiheuttaa ongelman jossa sinun täytyy eliminoida `| null` tyyppi kontekstin kuluttajilta. Suosituksemme on että hookki tekee runtime tarkistuksen sen olemassaolosta ja heittää virheen kun sitä ei ole:
290294

@@ -460,4 +464,8 @@ Suosittelemme seuraavia resursseja:
460464

461465
- [React TypeScript Cheatsheet](https://react-typescript-cheatsheet.netlify.app/) on yhteisön ylläpitämä lunttilappu TypeScriptin käyttöön Reactin kanssa, kattaa paljon hyödyllisiä reunoja ja tarjoaa enemmän syvyyttä kuin tämä dokumentti.
462466

463-
- [TypeScript Community Discord](https://discord.com/invite/typescript) on hyvä paikka kysyä kysymyksiä ja saada apua TypeScriptin ja Reactin ongelmiin.
467+
<<<<<<< HEAD
468+
- [TypeScript Community Discord](https://discord.com/invite/typescript) on hyvä paikka kysyä kysymyksiä ja saada apua TypeScriptin ja Reactin ongelmiin.
469+
=======
470+
- [TypeScript Community Discord](https://discord.com/invite/typescript) is a great place to ask questions and get help with TypeScript and React issues.
471+
>>>>>>> a0cacd7d3a89375e5689ccfba0461e293bfe9eeb

0 commit comments

Comments
 (0)