Skip to content

Commit 77bbd1b

Browse files
authored
Merge pull request #173 from reactjs/sync-c7d6b700
Sync with react.dev @ c7d6b70
2 parents 1e32082 + 95a4a4d commit 77bbd1b

7 files changed

Lines changed: 32 additions & 54 deletions

File tree

src/content/community/conferences.md

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,27 +10,41 @@ Do you know of a local React.js conference? Add it here! (Please keep the list c
1010

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

13-
### React Paris 2026 {/*react-paris-2026*/}
14-
March 26 - 27, 2026. In-person in Paris, France (hybrid event)
13+
### ZurichJS Conf 2026 {/*zurichjs-conf-2026*/}
14+
September 10-11, 2026. In-person in Zurich, Switzerland
1515

16-
[Website](https://react.paris/) - [Twitter](https://x.com/BeJS_)
16+
[Website](https://conf.zurichjs.com?utm_campaign=ZurichJS_Conf&utm_source=referral&utm_content=reactjs_community_conferences) - [Twitter](https://x.com/zurichjs) - [LinkedIn](https://www.linkedin.com/company/zurichjs/)
1717

18-
### CityJS London 2026 {/*cityjs-london-2026*/}
19-
April 14-17, 2026. In-person in London
18+
### React Alicante 2026 {/*react-alicante-2026*/}
19+
Sep 24 - 26, 2026. In-person in Alicante
2020

21-
[Website](https://india.cityjsconf.org/) - [Twitter](https://x.com/cityjsconf) - [Bluesky](https://bsky.app/profile/cityjsconf.bsky.social)
21+
[Website](https://reactalicante.es//) - [Twitter](https://x.com/ReactAlicante)
2222

23-
### ZurichJS Conf 2026 {/*zurichjs-conf-2026*/}
24-
September 10-11, 2026. In-person in Zurich, Switzerland
23+
### CityJS Athens 2026 {/*cityjs-athens-2026*/}
24+
October 21-23, 2026. In-person in Athens
25+
26+
[Website](https://athens.cityjsconf.org/) - [Twitter](https://x.com/cityjsconf) - [Bluesky](https://bsky.app/profile/cityjsconf.bsky.social)
27+
28+
29+
## Past Conferences {/*past-conferences*/}
2530

26-
[Website](https://conf.zurichjs.com?utm_campaign=ZurichJS_Conf&utm_source=referral&utm_content=reactjs_community_conferences) - [Twitter](https://x.com/zurichjs) - [LinkedIn](https://www.linkedin.com/company/zurichjs/)
2731

2832
### React Conf Japan 2027 {/*react-conf-japan-2027*/}
2933
April 24, 2027. In-person in Tokyo, Japan
3034

3135
[Website](https://reactconf.jp/) - [Twitter](https://x.com/reactconfjp)
3236

33-
## Past Conferences {/*past-conferences*/}
37+
### CityJS London 2026 {/*cityjs-london-2026*/}
38+
April 14-17, 2026. In-person in London
39+
40+
[Website](https://india.cityjsconf.org/) - [Twitter](https://x.com/cityjsconf) - [Bluesky](https://bsky.app/profile/cityjsconf.bsky.social)
41+
42+
43+
### React Paris 2026 {/*react-paris-2026*/}
44+
March 26 - 27, 2026. In-person in Paris, France (hybrid event)
45+
46+
[Website](https://react.paris/) - [Twitter](https://x.com/BeJS_)
47+
3448

3549
### CityJS New Delhi 2026 {/*cityjs-newdelhi-2026*/}
3650
February 12-13, 2026. In-person in New Delhi, India

src/content/learn/editor-setup.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,7 @@ Baadhi ya vihariri huja na maumbile haya yakiwa yamejengwa ndani, lakini vingine
3131

3232
### Linting {/*linting*/}
3333

34-
<<<<<<< HEAD
3534
Code linters hupata matatizo katika kodi yako unapoandika, zikikusaidia kuyarekebisha mapema. [ESLint](https://eslint.org/) ni linter maarufu ya chanzo wazi (open source) kwa ajili ya JavaScript.
36-
=======
37-
Code linters find problems in your code as you write, helping you fix them early. [ESLint](https://eslint.org/) is a popular, open source linter for JavaScript.
38-
>>>>>>> 7b6c3ceb9dd97249e9dce4a8a94e61aed6424698
3935

4036
* [Sakinisha ESLint kwa mpangilio uliopendekezwa kwa React](https://www.npmjs.com/package/eslint-config-react-app) (hakikisha una [Node imesakinishwa!](https://nodejs.org/en/download/current/))
4137
* [Unganisha ESLint katika VSCode na kiendelezi rasmi](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)

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

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,9 @@ Anza kwa kuchora visanduku kuzunguka kila kijenzi na kijenzi kidogo kwenye kiigi
3737

3838
Kulingana na msingi wako, unaweza kufikiria kugawanya muundo katika vijenzi kwa njia tofauti:
3939

40-
<<<<<<< HEAD
4140
* **Programming**--tumia mbinu zile zile za kuamua ikiwa unapaswa kuunda kitendaji kipya au object. Mbinu moja kama hiyo ni [kanuni ya uwajibikaji mmoja (single responsibility principle)](https://en.wikipedia.org/wiki/Single_responsibility_principle), yaani, kijenzi kinapaswa kufanya jambo moja tu. Ikiwa kitaishia kukua, inapaswa kigawanywe kiwe vijenzi vidogo.
4241
* **CSS**--fikiria ni nini ungetengeneza viteule vya darasa. (Hatahivyo, vijenzi ni vidogo kwa kiasi fulani.)
4342
* **Design**--fikiria jinsi unavyoweza kupanga safu za muundo.
44-
=======
45-
* **Programming**--use the same techniques for deciding if you should create a new function or object. One such technique is the [separation of concerns](https://en.wikipedia.org/wiki/Separation_of_concerns), that is, a component should ideally only be concerned with one thing. If it ends up growing, it should be decomposed into smaller subcomponents.
46-
* **CSS**--consider what you would make class selectors for. (However, components are a bit less granular.)
47-
* **Design**--consider how you would organize the design's layers.
48-
>>>>>>> 7b6c3ceb9dd97249e9dce4a8a94e61aed6424698
4943

5044
Ikiwa JSON yako imeundwa vizuri, mara nyingi utapata kwamba inaelekeza kwa muundo wa vijenzi vya UI yako. Hiyo ni kwa sababu UI na miundo ya data mara nyingi huwa na usanifu sawa wa habari--yaani, umbo sawa. Tenganisha UI yako katika vijenzi, ambapo kila kijenzi kinalingana na kipande kimoja cha muundo yako wa data.
5145

@@ -232,19 +226,10 @@ Kilichobaki labda ni hali.
232226

233227
Wacha tupitie moja baada ya nyingine tena:
234228

235-
<<<<<<< HEAD
236229
1. Orodha asili ya bidhaa **imepitishwa kama vifaa, kwa hivyo haijabainishwa.**
237230
2. Maandishi ya utafutaji yanaonekana kuwa ya hali kwani yanabadilika kwa wakati na hayawezi kukokotwa kutoka kwa chochote.
238231
3. Thamani ya kisanduku cha kuteua inaonekana kuwa hali kwani inabadilika kwa wakati na haiwezi kukokotwa kutoka kwa chochote.
239232
4. Orodha iliyochujwa ya bidhaa **haijabainishwa kwa sababu inaweza kukokotwa** kwa kuchukua orodha asili ya bidhaa na kuichuja kulingana na maandishi ya utafutaji na thamani ya kisanduku cha kuteua.
240-
=======
241-
1. The original list of products is **passed in as props, so it's not state.**
242-
2. The search text seems to be state since it changes over time and can't be computed from anything.
243-
3. The value of the checkbox seems to be state since it changes over time and can't be computed from anything.
244-
4. The filtered list of products **isn't state because it can be computed** by taking the original list of products and filtering it according to the search text and value of the checkbox.
245-
246-
This means only the search text and the value of the checkbox are state! Nicely done!
247-
>>>>>>> 7b6c3ceb9dd97249e9dce4a8a94e61aed6424698
248233

249234
Hii ina maana kwamba ni maandishi ya utafutaji pekee na thamani ya kisanduku cha kuteua ndizo zilizotajwa! Imefanywa vizuri!
250235
<DeepDive>
@@ -277,23 +262,13 @@ In the previous step, you found two pieces of state in this application: the sea
277262

278263
Katika hatua ya awali, ulipata vipande viwili vya hali katika programu hii: maandishi ya ingizo ya utafutaji, na thamani ya kisanduku cha kuteua. Katika mfano huu, daima huonekana pamoja, kwa hiyo ni mantiki kuviweka katika sehemu moja.
279264

280-
<<<<<<< HEAD
281265
Sasa wacha tupitie mkakati wetu kwao:
282266

283267
1. **Tambua vijenzi vinavyotumia hali:**
284268
* `ProductTable` inahitaji kuchuja orodha ya bidhaa kulingana na hali hiyo (maandishi ya utafutaji na thamani ya kisanduku cha kuteua).
285269
* `SearchBar` inahitaji kuonyesha hali hiyo (maandishi ya utafutaji na thamani ya kisanduku cha kuteua).
286270
1. **Tafuta mzazi wao wa kawaida:** Kijenzi mzazi cha kwanza ambacho vijenzi vyote viwili hushiriki ni `FilterableProductTable`.
287271
2. **Amua mahali pa kuishi**: Tutaweka maandishi ya kichujio na thamani za hali zilizochaguliwa katika `FilterableProductTable`.
288-
=======
289-
1. **Identify components that use state:**
290-
* `ProductTable` needs to filter the product list based on that state (search text and checkbox value).
291-
* `SearchBar` needs to display that state (search text and checkbox value).
292-
2. **Find their common parent:** The first parent component both components share is `FilterableProductTable`.
293-
3. **Decide where the state lives**: We'll keep the filter text and checked state values in `FilterableProductTable`.
294-
295-
So the state values will live in `FilterableProductTable`.
296-
>>>>>>> 7b6c3ceb9dd97249e9dce4a8a94e61aed6424698
297272

298273
Kwa hivyo state thamani zitaishi katika `FilterableProductTable`.
299274

@@ -481,16 +456,7 @@ function SearchBar({ filterText, inStockOnly }) {
481456
482457
Hata hivyo, bado hujaongeza msimbo wowote ili kujibu vitendo vya mtumiaji kama vile kuandika. Hii itakuwa hatua yako ya mwisho.
483458
484-
<<<<<<< HEAD
485459
## Hatua ya 5: Ongeza mtiririko wa data kinyume {/*step-5-add-inverse-data-flow*/}
486-
=======
487-
488-
## Step 5: Add inverse data flow {/*step-5-add-inverse-data-flow*/}
489-
490-
Currently your app renders correctly with props and state flowing down the hierarchy. But to change the state according to user input, you will need to support data flowing the other way: the form components deep in the hierarchy need to update the state in `FilterableProductTable`.
491-
492-
React makes this data flow explicit, but it requires a little more typing than two-way data binding. If you try to type or check the box in the example above, you'll see that React ignores your input. This is intentional. By writing `<input value={filterText} />`, you've set the `value` prop of the `input` to always be equal to the `filterText` state passed in from `FilterableProductTable`. Since `filterText` state is never set, the input never changes.
493-
>>>>>>> 7b6c3ceb9dd97249e9dce4a8a94e61aed6424698
494460
495461
You want to make it so whenever the user changes the form inputs, the state updates to reflect those changes. The state is owned by `FilterableProductTable`, so only it can call `setFilterText` and `setInStockOnly`. To let `SearchBar` update the `FilterableProductTable`'s state, you need to pass these functions down to `SearchBar`:
496462

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

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -801,7 +801,7 @@ Kwa kuwaita function hii ya `set` kutoka kwa mshughulikaji wa `onClick`, unaiamb
801801
802802
![Kuongeza X kwenye ubao](../images/tutorial/tictac-adding-x-s.gif)
803803
804-
Kila Square ina hali yake: thamani ya `value` iliyohifadhiwa kwenye kila Square ni huru kabisa kwa nyinginezo. Unapobadilisha hali kwa kuita function ya `set`, React huboresha pia vipengele vya watoto vilivyo ndani.
804+
Kila Square ina hali yake: thamani ya `value` iliyohifadhiwa kwenye kila Square ni huru kabisa kwa nyinginezo. Unapobadilisha hali kwa kuita function ya `set`, React huboresha pia vipengele vya watoto vilivyo ndani.
805805
806806
Baada ya mabadiliko haya, msimbo wako utaonekana hivi:
807807
@@ -907,8 +907,6 @@ Ili kuchunguza kipengele fulani kwenye skrini, tumia kitufe kilicho kwenye kona
907907
908908
![Kuchagua vipengele kwenye ukurasa na React DevTools](../images/tutorial/devtools-select.gif)
909909
910-
![components tab](../images/tutorial/components-tab.png)
911-
912910
Kwa maendeleo ya ndani (local development), React DevTools inapatikana kama [Chrome](https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi?hl=en), [Firefox](https://addons.mozilla.org/en-US/firefox/addon/react-devtools/), na [Edge](https://microsoftedge.microsoft.com/addons/detail/react-developer-tools/gpphkfbcpidddadnkolkpfckpihlkkil) *browser extension*. Isakinishe, na kichupo cha *Components* kitaonekana kwenye Zana za Watengenezaji wa kivinjari chako kwa tovuti zinazotumia React.
913911
914912
@@ -2077,7 +2075,7 @@ Unaweza kuona jinsi kanuni yako inavyopaswa kuonekana hapa chini. Kumbuka kwamba
20772075
<ConsoleBlock level="warning">
20782076
Warning: Each child in an array or iterator should have a unique "key" prop. Check the render method of &#96;Game&#96;.
20792077
</ConsoleBlock>
2080-
2078+
20812079
Utarekebisha hitilafu hii katika sehemu inayofuata.
20822080
20832081
<Sandpack>

src/content/reference/react/use.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -662,7 +662,7 @@ This cache pattern is the foundation for [re-fetching data](#re-fetching-data-in
662662
663663
<Pitfall>
664664
665-
Don't skip calling `use` based on whether a Promise is already settled.
665+
##### Don't skip calling `use` based on whether a Promise is already settled. {/*conditional-use*/}
666666
667667
Unlike other hooks, `use` can be called inside conditions and loops — but it must always be called for the Promise itself. Never read `promise.status` or `promise.value` directly to bypass `use`; always pass the Promise to `use` and let React handle it.
668668

vercel.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,11 @@
174174
"destination": "/warnings/invalid-hook-call-warning#mismatching-versions-of-react-and-react-dom",
175175
"permanent": false
176176
},
177+
{
178+
"source": "/warnings/conditional-use-of-use",
179+
"destination": "/reference/react/use#conditional-use",
180+
"permanent": false
181+
},
177182
{
178183
"source": "/reference/react/directives",
179184
"destination": "/reference/rsc/directives",

yarn.lock

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2449,7 +2449,6 @@ camelcase-css@^2.0.1:
24492449
resolved "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz"
24502450
integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==
24512451

2452-
caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001286, caniuse-lite@^1.0.30001297, caniuse-lite@^1.0.30001370, caniuse-lite@^1.0.30001579, caniuse-lite@^1.0.30001688:
24532452
camelize@^1.0.0:
24542453
version "1.0.1"
24552454
resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.1.tgz#89b7e16884056331a35d6b5ad064332c91daa6c3"

0 commit comments

Comments
 (0)