Skip to content

Commit 5397f5c

Browse files
Merge pull request #83 from nafistiham/hydrate
Hydrate
2 parents fc5aae9 + 6e0d719 commit 5397f5c

File tree

1 file changed

+33
-33
lines changed

1 file changed

+33
-33
lines changed

src/content/reference/react-dom/hydrate.md

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@ title: hydrate
44

55
<Deprecated>
66

7-
This API will be removed in a future major version of React.
7+
এই API ভবিষ্যতে React এর একটি মেজর ভার্সনে সরিয়ে ফেলা হবে।
88

9-
In React 18, `hydrate` was replaced by [`hydrateRoot`.](/reference/react-dom/client/hydrateRoot) Using `hydrate` in React 18 will warn that your app will behave as if it’s running React 17. Learn more [here.](/blog/2022/03/08/react-18-upgrade-guide#updates-to-client-rendering-apis)
9+
React 18, `hydrate` এর জায়গায় এসেছে [`hydrateRoot`](/reference/react-dom/client/hydrateRoot) React 18 এ `render` ব্যবহার করলে সতর্কতা দেখাবে যে, আপনার অ্যাপ এমন আচরণ করবে যেন এতে React 17 চলছে। আরো জানুন [এখানে।](/blog/2022/03/08/react-18-upgrade-guide#updates-to-client-rendering-apis)
1010

1111
</Deprecated>
1212

1313
<Intro>
1414

15-
`hydrate` lets you display React components inside a browser DOM node whose HTML content was previously generated by [`react-dom/server`](/reference/react-dom/server) in React 17 and below.
15+
`hydrate` আপনাকে React component এমন ব্রাউজার DOM নোডের মধ্যে ডিসপ্লে করার সুযোগ দেয় যার HTML কনটেন্ট React 17 বা তার পূর্ববর্তী কোন ভার্সনের [`react-dom/server`](/reference/react-dom/server) এর সাহায্যে বানানো হয়েছিল।
1616

1717
```js
1818
hydrate(reactNode, domNode, callback?)
@@ -24,59 +24,59 @@ hydrate(reactNode, domNode, callback?)
2424
2525
---
2626
27-
## Reference {/*reference*/}
27+
## রেফারেন্স {/*reference*/}
2828
2929
### `hydrate(reactNode, domNode, callback?)` {/*hydrate*/}
3030
31-
Call `hydrate` in React 17 and below to “attach” React to existing HTML that was already rendered by React in a server environment.
31+
React 17 বা তার নিচের কোন ভার্সনে সার্ভার এনভায়রনমেন্টে React এর রেন্ডার করা HTML এর সাথে React "সংযুক্ত" করার জন্য `hydrate` কল করুন।
3232
3333
```js
3434
import { hydrate } from 'react-dom';
3535

3636
hydrate(reactNode, domNode);
3737
```
3838
39-
React will attach to the HTML that exists inside the `domNode`, and take over managing the DOM inside it. An app fully built with React will usually only have one `hydrate` call with its root component.
39+
React `domNode` DOM নোডে থাকা HTML এর সাথে যুক্ত হবে, এবং এর ভেতরের DOM ম্যানেজ করার দায়িত্ব গ্রহণ করবে। সম্পূর্ণরূপে React দিয়ে তৈরি একটি অ্যাপে সাধারণত এর রুট component এর সাথে `hydrate` কল একবারই থাকবে।
4040
41-
[See more examples below.](#usage)
41+
[নিচে আরো উদাহরণ দেখুন।](#usage)
4242
43-
#### Parameters {/*parameters*/}
43+
#### প্যারামিটার {/*parameters*/}
4444
45-
* `reactNode`: The "React node" used to render the existing HTML. This will usually be a piece of JSX like `<App />` which was rendered with a `ReactDOM Server` method such as `renderToString(<App />)` in React 17.
45+
* `reactNode`: বিদ্যমান HTML রেন্ডার করার জন্য ব্যবহৃত "React node"। এটা সাধারণত `<App />` এর মত JSX এর একটি অংশ হয়ে থাকে, যা React 17 এ `renderToString(<App />)` এর মত একটি `ReactDOM Server` মেথড ব্যবহার করে রেন্ডার করা।
4646
47-
* `domNode`: A [DOM element](https://developer.mozilla.org/en-US/docs/Web/API/Element) that was rendered as the root element on the server.
47+
* `domNode`: একটা [DOM এলিমেন্ট](https://developer.mozilla.org/en-US/docs/Web/API/Element) যা সার্ভারে রুট এলিমেন্ট হিসেবে রেন্ডার করা হয়েছিল।
4848
49-
* **optional**: `callback`: A function. If passed, React will call it after your component is hydrated.
49+
* **optional**: `callback`: একটি ফাংশন। যদি পাস করা হয়, আপনার component hydrated হবার পরে React এটাকে কল করবে।
5050
51-
#### Returns {/*returns*/}
51+
#### রিটার্ন {/*returns*/}
5252
53-
`hydrate` returns null.
53+
`hydrate` null রিটার্ন করে।
5454
55-
#### Caveats {/*caveats*/}
56-
* `hydrate` expects the rendered content to be identical with the server-rendered content. React can patch up differences in text content, but you should treat mismatches as bugs and fix them.
57-
* In development mode, React warns about mismatches during hydration. There are no guarantees that attribute differences will be patched up in case of mismatches. This is important for performance reasons because in most apps, mismatches are rare, and so validating all markup would be prohibitively expensive.
58-
* You'll likely have only one `hydrate` call in your app. If you use a framework, it might do this call for you.
59-
* If your app is client-rendered with no HTML rendered already, using `hydrate()` is not supported. Use [render()](/reference/react-dom/render) (for React 17 and below) or [createRoot()](/reference/react-dom/client/createRoot) (for React 18+) instead.
55+
#### সতর্কতা {/*caveats*/}
56+
* `hydrate` প্রত্যাশা করে যে রেন্ডার হওয়া কনটেন্ট সার্ভারে রেন্ডার হওয়া কনটেন্টের সাথে হুবহু মিলে যাবে। টেক্সট কনটেন্টে অমিল React patch up করতে পারে, তবে আপনার উচিত অমিলগুলোকে বাগ হিসেবে বিবেচনা করা এবং সেগুলোকে ঠিক করা।
57+
* ডেভেলপমেন্ট মোডে, React hydration এর সময়ে অমিলের বিষয়ে সতর্কবাণী দেখায়। অমিলের ক্ষেত্রে এট্রিবিউটের ভিন্নতা patch up হবে কি না তার কোন নিশ্চয়তা নেই। এটা পারফরম্যান্সের জন্য দরকার কেননা বেশিরভাগ অ্যাপে, অমিল খুবই বিরল, সুতরাং সকল মার্কাপ ভ্যালিডেট করাটা এতটাই চাপ ফেলবে যে সেটা করা নিষিদ্ধ বলা যায়।
58+
* আপনার অ্যাপে `hydrate` কল এক বারই থাকার কথা। আপনি যদি একটি ফ্রেমওয়ার্ক ব্যবহার করেন, সেটা আপনার জন্য এই কল করে দিতে পারে।
59+
* যদি আপনার অ্যাপ ক্লায়েন্ট-রেন্ডার্ড হয় এবং এতে আগে থেকে কোন HTML রেন্ডার করা না থাকে, `hydrate()` ব্যবহারের সাপোর্ট নেই। [`render()`](/reference/react-dom/render) (React 17 বা তার পূর্ববর্তী ভার্সনের জন্য) অথবা [`createRoot()`](/reference/react-dom/client/createRoot) (React 18+ এ) ব্যবহার করুন বরং।
6060
6161
---
6262
63-
## Usage {/*usage*/}
63+
## ব্যবহার {/*usage*/}
6464
65-
Call `hydrate` to attach a <CodeStep step={1}>React component</CodeStep> into a server-rendered <CodeStep step={2}>browser DOM node</CodeStep>.
65+
সার্ভারে রেন্ডার হওয়া <CodeStep step={2}>ব্রাউজার DOM নোডে</CodeStep> <CodeStep step={1}>React component</CodeStep> যুক্ত করার জন্য `hydrate` কল করুন।
6666
6767
```js [[1, 3, "<App />"], [2, 3, "document.getElementById('root')"]]
6868
import { hydrate } from 'react-dom';
6969

7070
hydrate(<App />, document.getElementById('root'));
7171
```
7272
73-
Using `hydrate()` to render a client-only app (an app without server-rendered HTML) is not supported. Use [`render()`](/reference/react-dom/render) (in React 17 and below) or [`createRoot()`](/reference/react-dom/client/createRoot) (in React 18+) instead.
73+
একটি client-only অ্যাপ (সার্ভারে রেন্ডার হওয়া HTML ব্যতীত একটি অ্যাপ) `hydrate()` এর সাহায্যে রেন্ডার করার সাপোর্ট নেই। [`render()`](/reference/react-dom/render) (React 17 বা তার পূর্ববর্তী ভার্সনের জন্য) অথবা [`createRoot()`](/reference/react-dom/client/createRoot) (React 18+ এ) ব্যবহার করুন বরং।
7474
7575
### Hydrating server-rendered HTML {/*hydrating-server-rendered-html*/}
7676
77-
In React, "hydration" is how React "attaches" to existing HTML that was already rendered by React in a server environment. During hydration, React will attempt to attach event listeners to the existing markup and take over rendering the app on the client.
77+
React, "hydration" হচ্ছে যেভাবে React ইতোমধ্যে সার্ভার এনভায়রনমেন্টে React এর রেন্ডার করা HTML এর সাথে "যুক্ত হয়"। Hydration এর সময়ে, React বিদ্যমান মার্কাপের সাথে ইভেন্ট লিসেনার যুক্ত করার চেষ্টা করবে এবং ক্লায়েন্টে অ্যাপের রেন্ডারিং এর দায়িত্ব নিয়ে নিবে।
7878
79-
In apps fully built with React, **you will usually only hydrate one "root", once at startup for your entire app**.
79+
সম্পূর্ণভাবে React দিয়ে তৈরি অ্যাপসমূহে, **আপনি সাধারণত একটি মাত্র "রুট" hydrate করবেন, একদম শুরুতে আপনার পুরো অ্যাপের জন্য।**
8080
8181
<Sandpack>
8282
@@ -104,17 +104,17 @@ export default function App() {
104104
105105
</Sandpack>
106106
107-
Usually you shouldn't need to call `hydrate` again or to call it in more places. From this point on, React will be managing the DOM of your application. To update the UI, your components will [use state.](/reference/react/useState)
107+
সাধারণত আপনার `hydrate` আবার কল দেবার বা আরো জায়গায় কল দেবার প্রয়োজন হবার কথা না। এই জায়গা থেকে, React আপনার অ্যাপ্লিকেশনের DOM ম্যানেজ করবে। UI আপডেটের জন্য, আপনার component গুলো [state ব্যবহার করবে।](/reference/react/useState)
108108
109-
For more information on hydration, see the docs for [`hydrateRoot`.](/reference/react-dom/client/hydrateRoot)
109+
Hydration নিয়ে আরো তথ্য জানতে, [`hydrateRoot`](/reference/react-dom/client/hydrateRoot) এর ডকুমেন্টেশন দেখুন।
110110
111111
---
112112
113-
### Suppressing unavoidable hydration mismatch errors {/*suppressing-unavoidable-hydration-mismatch-errors*/}
113+
### অনিবার্য hydration mismatch error এর দমন {/*suppressing-unavoidable-hydration-mismatch-errors*/}
114114
115-
If a single element’s attribute or text content is unavoidably different between the server and the client (for example, a timestamp), you may silence the hydration mismatch warning.
115+
যদি একটি মাত্র এলিমেন্টের এট্রিবিউট অথবা টেক্সট কনটেন্ট অনিবার্যভাবে সার্ভার এবং ক্লায়েন্টে ভিন্ন থাকে (যেমন, টাইমস্ট্যাম্প), তবে আপনি hydration mismatch warning কে সাইলেন্ট রাখতে পারেন।
116116
117-
To silence hydration warnings on an element, add `suppressHydrationWarning={true}`:
117+
কোন এলিমেন্টের hydration সতর্কবাণী সাইলেন্ট করতে চাইলে, `suppressHydrationWarning={true}` যোগ করুনঃ
118118
119119
<Sandpack>
120120
@@ -146,13 +146,13 @@ export default function App() {
146146
147147
</Sandpack>
148148
149-
This only works one level deep, and is intended to be an escape hatch. Don’t overuse it. Unless it’s text content, React still won’t attempt to patch it up, so it may remain inconsistent until future updates.
149+
এটা শুধুমাত্র এক লেভেল গভীরে কাজ করে, এবং এটা একটা escape hatch হবার কথা। এর মাত্রাতিরিক্ত ব্যবহার করবেন না। যদি না এটা টেক্সট কনটেন্ট হয়, React তাও এটাকে patch up করার চেষ্টা করবে না, সুতরাং এটা ভবিষ্যতের কোণ আপডেটের আগ পর্যন্ত ধারাবাহিকতা নাও রক্ষা করতে পারে।
150150
151151
---
152152
153-
### Handling different client and server content {/*handling-different-client-and-server-content*/}
153+
### ভিন্ন ক্লায়েন্ট এবং সার্ভার কনটেন্ট এর হ্যান্ডলিং {/*handling-different-client-and-server-content*/}
154154
155-
If you intentionally need to render something different on the server and the client, you can do a two-pass rendering. Components that render something different on the client can read a [state variable](/reference/react/useState) like `isClient`, which you can set to `true` in an [effect](/reference/react/useEffect):
155+
আপনার যদি ইচ্ছাকৃতভাবে সার্ভার এবং ক্লায়েন্টে ভিন্ন কনটেন্ট রেন্ডার করার প্রয়োজন পড়ে, আপনি two-pass রেন্ডারিং করতে পারেন। যেসব component ক্লায়েন্টে ভিন্ন কিছু রেন্ডার করে তারা `isClient` এর মত একটি [state ভ্যারিয়েবল](/reference/react/useState) read করে নিতে পারে, যেটা আপনি একটা [effect](/reference/react/useEffect)`true` সেট করে দিতে পারেনঃ
156156
157157
<Sandpack>
158158
@@ -192,10 +192,10 @@ export default function App() {
192192
193193
</Sandpack>
194194
195-
This way the initial render pass will render the same content as the server, avoiding mismatches, but an additional pass will happen synchronously right after hydration.
195+
এভাবে প্রাথমিক রেন্ডার পাস সার্ভারের মত একই কনটেন্ট রেন্ডার করবে, অমিল এড়িয়ে গিয়ে, কিন্তু hydration এর ঠিক পরেই একটা অতিরিক্ত পাস সিঙ্ক্রোনাসভাবে হবে।
196196
197197
<Pitfall>
198198
199-
This approach makes hydration slower because your components have to render twice. Be mindful of the user experience on slow connections. The JavaScript code may load significantly later than the initial HTML render, so rendering a different UI immediately after hydration may feel jarring to the user.
199+
এই পদ্ধতি আপনার hydration কে ধীর গতির বানায় কারণ আপনার component গুলোকে দুই বার রেন্ডার হতে হয়। ধীর গতির ইন্টারনেট সংযোগের ক্ষেত্রে ব্যবহারকারীর অভিজ্ঞতার বিষয়ে খেয়াল রাখবেন। প্রাথমিক HTML রেন্ডারের পরে বেশ উল্লেখযোগ্য বিলম্বে জাভাস্ক্রিপ্ট কোড লোড হতে পারে, সুতরাং hydration এর ঠিক পর পর ভিন্ন একটা UI এর রেন্ডারিং ব্যবহারকারীর জন্য বিরক্তিকর হতে পারে।
200200
201201
</Pitfall>

0 commit comments

Comments
 (0)