You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/content/learn/add-react-to-an-existing-project.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,7 +24,11 @@ title: اضافه کردن ریاکت به یک پروژه موجود
24
24
2.**`/some-app` را بهعنوان *مسیر پایه*** در پیکربندی فریمورک خود مشخص کنید (راهنما: [Next.js](https://nextjs.org/docs/app/api-reference/config/next-config-js/basePath)، [Gatsby](https://www.gatsbyjs.com/docs/how-to/previews-deploys-hosting/path-prefix/)).
25
25
3.**سرور یا پروکسی خود را پیکربندی کنید** تا همه درخواستهای زیر مسیر `/some-app/` توسط اپلیکیشن ریاکت شما مدیریت شوند.
26
26
27
+
<<<<<<< HEAD
27
28
این کار تضمین میکند که بخش ریاکت اپلیکیشن شما میتواند از [بهترین شیوههای موجود](/learn/build-a-react-app-from-scratch#consider-using-a-framework) که در این فریمورکها تعبیه شدهاند بهرهمند شود.
29
+
=======
30
+
This ensures the React part of your app can [benefit from the best practices](/learn/build-a-react-app-from-scratch#consider-using-a-framework) baked into those frameworks.
31
+
>>>>>>> 27d86ffe6ec82e3642c6490d2187bae2271020a4
28
32
29
33
بسیاری از فریمورکهای مبتنی بر ریاکت فولاستک هستند و به اپلیکیشن ریاکت شما اجازه میدهند از قابلیتهای سرور استفاده کند. با این حال، حتی اگر نتوانید یا نخواهید جاوااسکریپت را روی سرور اجرا کنید، میتوانید از همان رویکرد استفاده کنید. در این حالت، خروجی HTML/CSS/JS را (خروجی [`next export`](https://nextjs.org/docs/advanced-features/static-html-export) در Next.js یا حالت پیشفرض در Gatsby) در مسیر `/some-app/` سرو کنید.
@@ -162,23 +162,137 @@ Similar to the [DOM standard,](https://developer.mozilla.org/en-US/docs/Web/API/
162
162
163
163
### Custom HTML elements {/*custom-html-elements*/}
164
164
165
-
If you render a tag with a dash, like `<my-element>`, React will assume you want to render a [custom HTML element.](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) In React, rendering custom elements works differently from rendering built-in browser tags:
166
-
167
-
- All custom element props are serialized to strings and are always set using attributes.
168
-
- Custom elements accept `class` rather than `className`, and `for` rather than `htmlFor`.
165
+
If you render a tag with a dash, like `<my-element>`, React will assume you want to render a [custom HTML element.](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements)
169
166
170
167
If you render a built-in browser HTML element with an [`is`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/is) attribute, it will also be treated as a custom element.
171
168
172
-
<Note>
169
+
#### Setting values on custom elements {/*attributes-vs-properties*/}
170
+
171
+
Custom elements have two methods of passing data into them:
172
+
173
+
1) Attributes: Which are displayed in markup and can only be set to string values
174
+
2) Properties: Which are not displayed in markup and can be set to arbitrary JavaScript values
175
+
176
+
By default, React will pass values bound in JSX as attributes:
177
+
178
+
```jsx
179
+
<my-element value="Hello, world!"></my-element>
180
+
```
181
+
182
+
Non-string JavaScript values passed to custom elements will be serialized by default:
183
+
184
+
```jsx
185
+
// Will be passed as `"1,2,3"` as the output of `[1,2,3].toString()`
186
+
<my-element value={[1,2,3]}></my-element>
187
+
```
188
+
189
+
React will, however, recognize an custom element's property as one that it may pass arbitrary values to if the property name shows up on the class during construction:
[A future version of React will include more comprehensive support for custom elements.](https://github.com/facebook/react/issues/11347#issuecomment-1122275286)
219
+
```js src/App.js
220
+
exportfunctionApp() {
221
+
return<my-element value={[1,2,3]}></my-element>
222
+
}
223
+
```
175
224
176
-
You can try it by upgrading React packages to the most recent experimental version:
225
+
</Sandpack>
226
+
227
+
#### Listening for events on custom elements {/*custom-element-events*/}
228
+
229
+
A common pattern when using custom elements is that they may dispatch [`CustomEvent`s](https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent) rather than accept a function to call when an event occur. You can listen for these events using an `on` prefix when binding to the event via JSX.
Events are case-sensitive and support dashes (`-`). Preserve the casing of the event and include all dashes when listening for custom element's events:
180
289
181
-
Experimental versions of React may contain bugs. Don't use them in production.
Copy file name to clipboardExpand all lines: src/content/reference/react/Activity.md
+20Lines changed: 20 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -51,7 +51,11 @@ While hidden, children still re-render in response to new props, albeit at a low
51
51
52
52
When the boundary becomes <CodeStepstep={3}>visible</CodeStep> again, React will reveal the children with their previous state restored, and re-create their Effects.
53
53
54
+
<<<<<<< HEAD
54
55
In this way, Activity can thought of as a mechanism for rendering "background activity". Rather than completely discarding content that's likely to become visible again, you can use Activity to maintain and restore that content's UI and internal state, while ensuring hidden content has no unwanted side effects.
56
+
=======
57
+
In this way, Activity can be thought of as a mechanism for rendering "background activity". Rather than completely discarding content that's likely to become visible again, you can use Activity to maintain and restore that content's UI and internal state, while ensuring that your hidden content has no unwanted side effects.
58
+
>>>>>>> 27d86ffe6ec82e3642c6490d2187bae2271020a4
55
59
56
60
[See more examples below.](#usage)
57
61
@@ -62,15 +66,23 @@ In this way, Activity can thought of as a mechanism for rendering "background ac
62
66
63
67
#### Caveats {/*caveats*/}
64
68
69
+
<<<<<<< HEAD
65
70
- When used with `<ViewTransition>`, hidden activities that reveal in a transition will activate an "enter" animation. Visible Activities hidden in a transition will activate an "exit" animation.
71
+
=======
72
+
- If an Activity is rendered inside of a [ViewTransition](/reference/react/ViewTransition), and it becomes visible as a result of an update caused by [startTransition](/reference/react/startTransition), it will activate the ViewTransition's `enter` animation. If it becomes hidden, it will activate its `exit` animation.
73
+
>>>>>>> 27d86ffe6ec82e3642c6490d2187bae2271020a4
66
74
67
75
---
68
76
69
77
## Usage {/*usage*/}
70
78
71
79
### Restoring the state of hidden components {/*restoring-the-state-of-hidden-components*/}
72
80
81
+
<<<<<<< HEAD
73
82
Typically in React, when you want to conditionally show or hide a component, you mount and unmount it:
83
+
=======
84
+
In React, when you want to conditionally show or hide a component, you typically mount or unmount it based on that condition:
85
+
>>>>>>> 27d86ffe6ec82e3642c6490d2187bae2271020a4
74
86
75
87
```jsx
76
88
{isShowingSidebar && (
@@ -88,11 +100,19 @@ When you hide a component using an Activity boundary instead, React will "save"
88
100
</Activity>
89
101
```
90
102
103
+
<<<<<<< HEAD
91
104
This makes it possible to restore components to their previous state.
92
105
93
106
The following example has a sidebar with an expandable section – you can press "Overview" to reveal the three subitems below it. The main app area also has a button that hides and shows the sidebar.
94
107
95
108
Try expanding the Overview section, then toggling the sidebar closed and open:
109
+
=======
110
+
This makes it possible to hide and then later restore components in the state they were previously in.
111
+
112
+
The following example has a sidebar with an expandable section. You can press "Overview" to reveal the three subitems below it. The main app area also has a button that hides and shows the sidebar.
113
+
114
+
Try expanding the Overview section, and then toggling the sidebar closed then open:
0 commit comments