Telegram Group & Telegram Channel
πŸ”₯ ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ React-прилоТСния: Код-сплиттинг с React.lazy

БСгодня расскаТу ΠΎ ΠΊΠΎΠ΄-сплиттингС Π² React β€” ΠΌΠΎΡ‰Π½ΠΎΠΌ инструмСнтС для ускорСния Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ прилоТСния.

Когда нашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ растёт, Π±Π°Π½Π΄Π» становится тяТёлым, Π° врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ β€” Π΄Π»ΠΈΠ½Π½Π΅Π΅. РСшСниС? Код-сплиттинг. Он позволяСт Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Π° Π½Π΅ вСсь ΠΊΠΎΠ΄ сразу.

Как это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚?
Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ React.lazy() ΠΈ Suspense, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½Ρ‹.

πŸ“Œ ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

import React, { lazy, Suspense } from 'react';

const HeavyComponent = lazy(() => import('./HeavyComponent'));

function App() {
return (
<div>
<h1>Главная страница</h1>
<Suspense fallback={<p>Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ°...</p>}>
<HeavyComponent />
</Suspense>
</div>
);
}

export default App;

Π—Π΄Π΅ΡΡŒ HeavyComponent загруТаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½, Π° ΠΏΠΎΠΊΠ° ΠΎΠ½ загруТаСтся β€” показываСтся fallback.

πŸ“ Π“Π΄Π΅ это ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ?
βœ” Π›Π΅Π½ΠΈΠ²Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ
βœ” Π‘ΠΎΠ»ΡŒΡˆΠΈΠ΅ страницы (Dashboard, Profile)
βœ” Админ-ΠΏΠ°Π½Π΅Π»ΠΈ
βœ” ΠšΠ°Ρ€Ρ‚Ρ‹, Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

Но ΠΏΠΎΠΌΠ½ΠΈ: React.lazy Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Для ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡƒΡ‚ΠΈΠ»ΠΈΡ‚) Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ динамичСский ΠΈΠΌΠΏΠΎΡ€Ρ‚ (import()).

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄-сплиттинг Π² свой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ скаТи, насколько ΡƒΡΠΊΠΎΡ€ΠΈΠ»Π°ΡΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°! πŸš€

✍️ @React_lib



tg-me.com/React_lib/653
Create:
Last Update:

πŸ”₯ ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ React-прилоТСния: Код-сплиттинг с React.lazy

БСгодня расскаТу ΠΎ ΠΊΠΎΠ΄-сплиттингС Π² React β€” ΠΌΠΎΡ‰Π½ΠΎΠΌ инструмСнтС для ускорСния Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ прилоТСния.

Когда нашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ растёт, Π±Π°Π½Π΄Π» становится тяТёлым, Π° врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ β€” Π΄Π»ΠΈΠ½Π½Π΅Π΅. РСшСниС? Код-сплиттинг. Он позволяСт Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Π° Π½Π΅ вСсь ΠΊΠΎΠ΄ сразу.

Как это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚?
Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ React.lazy() ΠΈ Suspense, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½Ρ‹.

πŸ“Œ ΠŸΡ€ΠΈΠΌΠ΅Ρ€:


import React, { lazy, Suspense } from 'react';

const HeavyComponent = lazy(() => import('./HeavyComponent'));

function App() {
return (
<div>
<h1>Главная страница</h1>
<Suspense fallback={<p>Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ°...</p>}>
<HeavyComponent />
</Suspense>
</div>
);
}

export default App;

Π—Π΄Π΅ΡΡŒ HeavyComponent загруТаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½, Π° ΠΏΠΎΠΊΠ° ΠΎΠ½ загруТаСтся β€” показываСтся fallback.

πŸ“ Π“Π΄Π΅ это ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ?
βœ” Π›Π΅Π½ΠΈΠ²Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ
βœ” Π‘ΠΎΠ»ΡŒΡˆΠΈΠ΅ страницы (Dashboard, Profile)
βœ” Админ-ΠΏΠ°Π½Π΅Π»ΠΈ
βœ” ΠšΠ°Ρ€Ρ‚Ρ‹, Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

Но ΠΏΠΎΠΌΠ½ΠΈ: React.lazy Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Для ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡƒΡ‚ΠΈΠ»ΠΈΡ‚) Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ динамичСский ΠΈΠΌΠΏΠΎΡ€Ρ‚ (import()).

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄-сплиттинг Π² свой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ скаТи, насколько ΡƒΡΠΊΠΎΡ€ΠΈΠ»Π°ΡΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°! πŸš€

✍️ @React_lib

BY React


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/React_lib/653

View MORE
Open in Telegram


React Telegram | DID YOU KNOW?

Date: |

Traders also expressed uncertainty about the situation with China Evergrande, as the indebted property company has not provided clarification about a key interest payment.In economic news, the Commerce Department reported an unexpected increase in U.S. new home sales in August.Crude oil prices climbed Friday and front-month WTI oil futures contracts saw gains for a fifth straight week amid tighter supplies. West Texas Intermediate Crude oil futures for November rose $0.68 or 0.9 percent at 73.98 a barrel. WTI Crude futures gained 2.8 percent for the week.

The messaging service and social-media platform owes creditors roughly $700 million by the end of April, according to people briefed on the company’s plans and loan documents viewed by The Wall Street Journal. At the same time, Telegram Group Inc. must cover rising equipment and bandwidth expenses because of its rapid growth, despite going years without attempting to generate revenue.

React from it


Telegram React
FROM USA