Skip to content

Commit 74f821c

Browse files
authored
Merge pull request #238 from reactjs/sync-f0a9793d
Sync with reactjs.org @ f0a9793
2 parents 41dff8f + 0889744 commit 74f821c

File tree

10 files changed

+42
-16
lines changed

10 files changed

+42
-16
lines changed

content/community/conferences.md

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,29 +17,49 @@ September 13-15, 2021. Atlanta, GA, USA
1717

1818
[Website](https://renderatl.com) - [Twitter](https://twitter.com/renderATL) - [Instagram](https://www.instagram.com/renderatl/) - [Facebook](https://www.facebook.com/renderatl/) - [LinkedIn](https://www.linkedin.com/company/renderatl)
1919

20-
### React Conference Live 2021 {#react-conference-live-2021}
21-
October 7-8, 2021. In-person in Amsterdam, Netherlands + remote (hybrid event)
22-
23-
[Website](https://www.reactlive.nl/) - [Twitter](https://twitter.com/reactlivenl) - [LinkedIn](https://www.linkedin.com/company/frontendlove/)
24-
25-
2620
### React Brussels 2021 {#react-brussels-2021}
2721
October 15, 2021 - remote event
2822

2923
[Website](https://www.react.brussels/) - [Twitter](https://twitter.com/BrusselsReact) - [LinkedIn](https://www.linkedin.com/events/6805708233819336704/)
3024

25+
26+
### React Conf Brasil 2021 {#react-conf-brasil-2021}
27+
October 16, 2021 - remote event
28+
29+
[Website](http://reactconf.com.br) - [Twitter](https://twitter.com/reactconfbr) - [Slack](https://react.now.sh) - [Facebook](https://facebook.com/reactconf) - [Instagram](https://instagram.com/reactconfbr) - [YouTube](https://www.youtube.com/channel/UCJL5eorStQfC0x1iiWhvqPA/videos)
30+
3131
### React Advanced 2021 {#react-advanced-2021}
3232
October 22-23, 2021. In-person in London, UK + remote (hybrid event)
3333

3434
[Website](https://reactadvanced.com) - [Twitter](https://twitter.com/reactadvanced) - [Facebook](https://www.facebook.com/ReactAdvanced) - [Videos](https://youtube.com/c/ReactConferences)
3535

36+
### < React Global > by Geekle {#react-global-2021}
37+
November 3-4, 2021 - remote event
38+
39+
[Website](https://geekle.us/react) - [LinkedIn](https://www.linkedin.com/events/javascriptglobalsummit6721691514176720896/)
40+
41+
## React Advanced London 2021 {#react-advanced-2021}
42+
October 20-22, 2021. London, UK & remote
43+
44+
[Website](https://reactadvanced.com) - [Twitter](https://twitter.com/reactadvanced)
45+
3646
### React India 2021 {#react-india-2021}
3747
November 12-14, 2021 - remote event
3848

3949
[Website](https://www.reactindia.io) - [Twitter](https://twitter.com/react_india) - [Facebook](https://www.facebook.com/ReactJSIndia/) - [LinkedIn](https://www.linkedin.com/showcase/14545585) - [YouTube](https://www.youtube.com/channel/UCaFbHCBkPvVv1bWs_jwYt3w/videos)
4050

4151
## Past Conferences {#past-conferences}
4252

53+
### React Native EU 2021 {#react-native-eu-2021}
54+
September 1-2, 2021 - remote event
55+
56+
[Website](https://www.react-native.eu/) - [Twitter](https://twitter.com/react_native_eu) - [Facebook](https://www.facebook.com/reactnativeeu/) - [Instagram](https://www.instagram.com/reactnative_eu/)
57+
58+
### React Finland 2021 {#react-finland-2021}
59+
August 30 - September 3, 2021 - remote event
60+
61+
[Website](https://react-finland.fi/) - [Twitter](https://twitter.com/ReactFinland) - [LinkedIn](https://www.linkedin.com/company/react-finland/)
62+
4363
### React Case Study Festival 2021 {#react-case-study-festival-2021}
4464
April 27-28, 2021 - remote event
4565

content/community/courses.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ permalink: community/courses.html
2424

2525
- [Scrimba: Learn React for free](https://scrimba.com/g/glearnreact) - 48 hands-on video tutorials building react apps.
2626

27+
- [University of Helsinki: Full Stack Open MOOC](https://fullstackopen.com/en/) - Learn to build web applications with React. Available in English, Spanish, Chinese and Finnish.
28+
29+
2730
## Paid Courses {#paid-courses}
2831

2932
- [Egghead.io](https://egghead.io/browse/frameworks/react) - Short instructional videos on React and many other topics.

content/community/meetups.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ Do you have a local React.js meetup? Add it here! (Please keep the list alphabet
6868
## England (UK) {#england-uk}
6969
* [Manchester](https://www.meetup.com/Manchester-React-User-Group/)
7070
* [React.JS Girls London](https://www.meetup.com/ReactJS-Girls-London/)
71+
* [React London : Bring Your Own Project](https://www.meetup.com/React-London-Bring-Your-Own-Project/)
7172

7273
## France {#france}
7374
* [Nantes](https://www.meetup.com/React-Nantes/)
@@ -181,6 +182,7 @@ Do you have a local React.js meetup? Add it here! (Please keep the list alphabet
181182
* [Dallas, TX - ReactJS](https://www.meetup.com/ReactDallas/)
182183
* [Dallas, TX - [Remote] React JS](https://www.meetup.com/React-JS-Group/)
183184
* [Detroit, MI - Detroit React User Group](https://www.meetup.com/Detroit-React-User-Group/)
185+
* [Indianapolis, IN - React.Indy](https://www.meetup.com/React-Indy)
184186
* [Irvine, CA - ReactJS](https://www.meetup.com/ReactJS-OC/)
185187
* [Kansas City, MO - ReactJS](https://www.meetup.com/Kansas-City-React-Meetup/)
186188
* [Las Vegas, NV - ReactJS](https://www.meetup.com/ReactVegas/)
@@ -193,6 +195,7 @@ Do you have a local React.js meetup? Add it here! (Please keep the list alphabet
193195
* [New York, NY - React Ladies](https://www.meetup.com/React-Ladies/)
194196
* [New York, NY - React Native](https://www.meetup.com/React-Native-NYC/)
195197
* [New York, NY - useReactNYC](https://www.meetup.com/useReactNYC/)
198+
* [Omaha, NE - ReactJS/React Native](https://www.meetup.com/omaha-react-meetup-group/)
196199
* [Palo Alto, CA - React Native](https://www.meetup.com/React-Native-Silicon-Valley/)
197200
* [Philadelphia, PA - ReactJS](https://www.meetup.com/Reactadelphia/)
198201
* [Phoenix, AZ - ReactJS](https://www.meetup.com/ReactJS-Phoenix/)

content/docs/accessibility.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ class Parent extends React.Component {
226226
this.inputElement.current.focus();
227227
```
228228

229-
When using a HOC to extend components, it is recommended to [forward the ref](/docs/forwarding-refs.html) to the wrapped component using the `forwardRef` function of React. If a third party HOC does not implement ref forwarding, the above pattern can still be used as a fallback.
229+
When using a [HOC](/docs/higher-order-components.html) to extend components, it is recommended to [forward the ref](/docs/forwarding-refs.html) to the wrapped component using the `forwardRef` function of React. If a third party HOC does not implement ref forwarding, the above pattern can still be used as a fallback.
230230

231231
A great focus management example is the [react-aria-modal](https://github.com/davidtheclark/react-aria-modal). This is a relatively rare example of a fully accessible modal window. Not only does it set initial focus on
232232
the cancel button (preventing the keyboard user from accidentally activating the success action) and trap keyboard focus inside the modal, it also resets focus back to the element that initially triggered the modal.

content/docs/addons-test-utils.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ mockComponent(
143143

144144
> نکته:
145145
>
146-
> `mockComponent()` یک API قدیمی است. ما استفاده از [`jest.mock()`](https://facebook.github.io/jest/docs/en/tutorial-react-native.html#mock-native-modules-using-jestmock) را به عنوان جایگزین پیشنهاد می‌کنیم.
146+
> `mockComponent()` یک API قدیمی است. ما استفاده از [`jest.mock()`](https://jestjs.io/docs/tutorial-react-native#mock-native-modules-using-jestmock) به عنوان جایگزین توصیه می‌کنیم.
147147
148148
* * *
149149

content/docs/codebase-overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ React is a [monorepo](https://danluu.com/monorepo/). Its repository contains mul
9898

9999
### React Core {#react-core}
100100

101-
The "core" of React includes all the [top-level `React` APIs](/docs/top-level-api.html#react), for example:
101+
The "core" of React includes all the [top-level `React` APIs](/docs/react-api.html#react), for example:
102102

103103
* `React.createElement()`
104104
* `React.Component`

content/docs/concurrent-mode-suspense.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ function ProfileTimeline() {
100100

101101
This demo is a teaser. Don't worry if it doesn't quite make sense yet. We'll talk more about how it works below. Keep in mind that Suspense is more of a *mechanism*, and particular APIs like `fetchProfileData()` or `resource.posts.read()` in the above example are not very important. If you're curious, you can find their definitions right in the [demo sandbox](https://codesandbox.io/s/frosty-hermann-bztrp).
102102

103-
Suspense is not a data fetching library. It's a **mechanism for data fetching libraries** to communicate to React that *the data a component is reading is not ready yet*. React can then wait for it to be ready and update the UI. At Facebook, we use Relay and its [new Suspense integration](https://relay.dev/docs/en/experimental/step-by-step). We expect that other libraries like Apollo can provide similar integrations.
103+
Suspense is not a data fetching library. It's a **mechanism for data fetching libraries** to communicate to React that *the data a component is reading is not ready yet*. React can then wait for it to be ready and update the UI. At Facebook, we use Relay and its [new Suspense integration](docs/getting-started/step-by-step-guide/). We expect that other libraries like Apollo can provide similar integrations.
104104

105105
In the long term, we intend Suspense to become the primary way to read asynchronous data from components -- no matter where that data is coming from.
106106

@@ -110,7 +110,7 @@ Suspense is significantly different from existing approaches to these problems,
110110

111111
* **It is not a data fetching implementation.** It does not assume that you use GraphQL, REST, or any other particular data format, library, transport, or protocol.
112112

113-
* **It is not a ready-to-use client.** You can't "replace" `fetch` or Relay with Suspense. But you can use a library that's integrated with Suspense (for example, [new Relay APIs](https://relay.dev/docs/en/experimental/api-reference)).
113+
* **It is not a ready-to-use client.** You can't "replace" `fetch` or Relay with Suspense. But you can use a library that's integrated with Suspense (for example, [new Relay APIs](https://relay.dev/docs/api-reference/relay-environment-provider/)).
114114

115115
* **It does not couple data fetching to the view layer.** It helps orchestrate displaying the loading states in your UI, but it doesn't tie your network logic to React components.
116116

@@ -126,7 +126,7 @@ So what's the point of Suspense? There are a few ways we can answer this:
126126

127127
## Using Suspense in Practice {#using-suspense-in-practice}
128128

129-
At Facebook, so far we have only used the Relay integration with Suspense in production. **If you're looking for a practical guide to get started today, [check out the Relay Guide](https://relay.dev/docs/en/experimental/step-by-step)!** It demonstrates patterns that have already worked well for us in production.
129+
At Facebook, so far we have only used the Relay integration with Suspense in production. **If you're looking for a practical guide to get started today, [check out the Relay Guide](https://relay.dev/docs/getting-started/step-by-step-guide/)!** It demonstrates patterns that have already worked well for us in production.
130130

131131
**The code demos on this page use a "fake" API implementation rather than Relay.** This makes them easier to understand if you're not familiar with GraphQL, but they won't tell you the "right way" to build an app with Suspense. This page is more conceptual and is intended to help you see *why* Suspense works in a certain way, and which problems it solves.
132132

@@ -144,7 +144,7 @@ We expect to see a lot of experimentation in the community with other libraries.
144144

145145
Although it's technically doable, Suspense is **not** currently intended as a way to start fetching data when a component renders. Rather, it lets components express that they're "waiting" for data that is *already being fetched*. **[Building Great User Experiences with Concurrent Mode and Suspense](/blog/2019/11/06/building-great-user-experiences-with-concurrent-mode-and-suspense.html) describes why this matters and how to implement this pattern in practice.**
146146

147-
Unless you have a solution that helps prevent waterfalls, we suggest to prefer APIs that favor or enforce fetching before render. For a concrete example, you can look at how [Relay Suspense API](https://relay.dev/docs/en/experimental/api-reference#usepreloadedquery) enforces preloading. Our messaging about this hasn't been very consistent in the past. Suspense for Data Fetching is still experimental, so you can expect our recommendations to change over time as we learn more from production usage and understand the problem space better.
147+
Unless you have a solution that helps prevent waterfalls, we suggest to prefer APIs that favor or enforce fetching before render. For a concrete example, you can look at how [Relay Suspense API](https://relay.dev/docs/api-reference/use-preloaded-query/) enforces preloading. Our messaging about this hasn't been very consistent in the past. Suspense for Data Fetching is still experimental, so you can expect our recommendations to change over time as we learn more from production usage and understand the problem space better.
148148

149149
## Traditional Approaches vs Suspense {#traditional-approaches-vs-suspense}
150150

content/docs/create-a-new-react-app.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ The React team primarily recommends these solutions:
3939

4040
[Create React App](https://github.com/facebookincubator/create-react-app) is a comfortable environment for **learning React**, and is the best way to start building **a new [single-page](/docs/glossary.html#single-page-application) application** in React.
4141

42-
It sets up your development environment so that you can use the latest JavaScript features, provides a nice developer experience, and optimizes your app for production. You’ll need to have [Node >= 10.16 and npm >= 5.6](https://nodejs.org/en/) on your machine. To create a project, run:
42+
It sets up your development environment so that you can use the latest JavaScript features, provides a nice developer experience, and optimizes your app for production. You’ll need to have [Node >= 14.0.0 and npm >= 5.6](https://nodejs.org/en/) on your machine. To create a project, run:
4343

4444
```bash
4545
npx create-react-app my-app

content/docs/forms.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ this.setState(partialState);
270270

271271
## مقدار Null ورودی کنترل‌شده {#controlled-input-null-value}
272272

273-
قراردادن prop value روی یک [کامپوننت کنترل‌شده](/docs/forms.html#controlled-components) از تغییر ورودی توسط کاربر جلوگیری می‌کند، مگر اینکه شما بخواهید. اگر یک `value` روی ورودی قرار داده‌اید، اما هنوز قابل‌ ویرایش است، ممکن است `value` را تصادفا با `undefined` و یا `null` مقدار‌دهی کرده باشید.
273+
قراردادن prop به نام value روی یک [کامپوننت کنترل‌شده](/docs/forms.html#controlled-components) از تغییر ورودی توسط کاربر جلوگیری می‌کند، مگر اینکه شما بخواهید. اگر یک `value` روی ورودی قرار داده‌اید، اما هنوز قابل‌ ویرایش است، ممکن است `value` را تصادفا با `undefined` و یا `null` مقدار‌دهی کرده باشید.
274274

275275
نمونه کد زیر این [رفتار] را نشان ‌می‌دهد. (در ابتدا فیلد ورودی قفل است اما پس از زمانی کوتاه قابل‌تغییر ‌می‌شود.)
276276

content/docs/reference-react-dom.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ ReactDOM.render(element, container[, callback])
4949
>
5050
> `ReactDOM.render()` نود اصلی را تغییر نمیدهد (فقط فرزنده‌های container را تغییر می‌دهد). شاید ممکن باشد که کامپوننتی را درون نودی که قبلا وجود داشته وارد کرد بدون اینکه نیاز به بازنویسی نودهای زیر شاخه(children) باشد.
5151
>
52-
> `ReactDOM.render()` در حال حاضر یک reference از ریشه instance `ReactComponent` برمی‌گرداند. با این حال استفاده از این مقدار برگشتی سنتی است و باید از آن پرهیز شود زیرا در ورژن‌های آینده ری‌اکت شاید برخی کامپوننت‌ها در گاهی اوقات ناهمگام رندر شوند.اگر شما به مرجع instance ریشه `ReactComponent` نیاز داشتید، بهترین راه حل آن است که یک [callback ref](/docs/more-about-refs.html#the-ref-callback-attribute) به ریشه المنت وصل کنید.
52+
> `ReactDOM.render()` در حال حاضر یک reference از ریشه instance `ReactComponent` برمی‌گرداند. با این حال استفاده از این مقدار برگشتی سنتی است و باید از آن پرهیز شود زیرا در ورژن‌های آینده ری‌اکت شاید برخی کامپوننت‌ها در گاهی اوقات ناهمگام رندر شوند.اگر شما به مرجع instance ریشه `ReactComponent` نیاز داشتید، بهترین راه حل آن است که یک [callback ref](/docs/refs-and-the-dom.html#callback-refs) به ریشه المنت وصل کنید.
5353
>
5454
> استفاده از `ReactDOM.render()` برای hydrate کردن یک container که سمت سرور رندر شده‌است، منسوخ شده است و در ورژن ۱۷ ری‌اکت پاک خواهد شد. به جای آن از [`()hydrate`](#hydrate) استفاده کنید.
5555
* * *

0 commit comments

Comments
 (0)