Telegram Group & Telegram Channel
πŸ› οΈ Как ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с React? 5 ΠΌΠΎΡ‰Π½Ρ‹Ρ… Ρ‚Ρ€ΡŽΠΊΠΎΠ²!

Π― часто Π²ΠΈΠΆΡƒ, ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ тратят лишнСС врСмя Π½Π° Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π² React. БСгодня я ΠΏΠΎΠΊΠ°ΠΆΡƒ Π²Π°ΠΌ 5 ΠΌΠΎΡ‰Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ускорят Π²Π°ΡˆΡƒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈ ΡΠ΄Π΅Π»Π°ΡŽΡ‚ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‰Π΅!



πŸ”Ή 1. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ useMemo ΠΈ useCallback ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ
Π­Ρ‚ΠΈ Ρ…ΡƒΠΊΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ просто "ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ" Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΈΡ… Π’ΠžΠ›Π¬ΠšΠž Ρ‚Π°ΠΌ, Π³Π΄Π΅ это Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ сниТаСт количСство Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… Ρ€Π΅Ρ€Π΅Π½Π΄Π΅Ρ€ΠΎΠ². Если Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ измСняСтся часто, мСмоизация Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ.


const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);
const memoizedCallback = useCallback(() => doSomething(c), [c]);




πŸ”Ή 2. РСэкспорт ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² для ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°
Когда Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², постоянныС ΠΈΠΌΠΏΠΎΡ€Ρ‚Ρ‹ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ Π² хаос. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ index.ts ΠΈ рСэкспортируйтС ΠΈΡ…:


// components/index.ts
export { default as Button } from './Button';
export { default as Input } from './Input';

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ:

import { Button, Input } from '@/components';




πŸ”Ή 3. ΠœΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ пропсы Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ…
Π§Π΅ΠΌ большС пропсов, Ρ‚Π΅ΠΌ слоТнСС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ Π΄Π΅ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΠ·Π°Ρ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.

❌ Π’Π°ΠΊ Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ Π½Π°Π΄ΠΎ:

<MyComponent name={name} age={age} isAdmin={isAdmin} />

βœ… А Ρ‚Π°ΠΊ Π»ΡƒΡ‡ΡˆΠ΅:

<MyComponent user={{ name, age, isAdmin }} />




πŸ”Ή 4. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ контСкст (useContext)
ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚ ΡƒΠ΄ΠΎΠ±Π΅Π½, Π½ΠΎ ΠΎΠ½ пСрСрисовываСт вСсь ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π Π°Π·Π±Π΅ΠΉΡ‚Π΅ контСкст Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅ части ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ сСлСкторы.


const userName = useContext(UserContext).name; // ИзмСнСниС Π΄Ρ€ΡƒΠ³ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… Π² контСкстС НЕ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ пСрСрисовку




πŸ”Ή 5. ДинамичСскиС ΠΈΠΌΠΏΠΎΡ€Ρ‚Ρ‹ для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ
Π Π°Π·Π±Π΅ΠΉΡ‚Π΅ ΠΊΠΎΠ΄ Π½Π° Ρ‡Π°Π½ΠΊΠΈ, загруТая ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΏΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΡŽ:


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

Π’Π΅ΠΏΠ΅Ρ€ΡŒ React ΠΏΠΎΠ΄Π³Ρ€ΡƒΠ·ΠΈΡ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ΅Π½!


⚑ ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ эти Ρ‚Ρ€ΡŽΠΊΠΈ Π² своих ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… ΠΈ Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ… Π²Ρ‹ ΡƒΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅!

✍️ @React_lib



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

πŸ› οΈ Как ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с React? 5 ΠΌΠΎΡ‰Π½Ρ‹Ρ… Ρ‚Ρ€ΡŽΠΊΠΎΠ²!

Π― часто Π²ΠΈΠΆΡƒ, ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ тратят лишнСС врСмя Π½Π° Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π² React. БСгодня я ΠΏΠΎΠΊΠ°ΠΆΡƒ Π²Π°ΠΌ 5 ΠΌΠΎΡ‰Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ускорят Π²Π°ΡˆΡƒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈ ΡΠ΄Π΅Π»Π°ΡŽΡ‚ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‰Π΅!



πŸ”Ή 1. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ useMemo ΠΈ useCallback ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ
Π­Ρ‚ΠΈ Ρ…ΡƒΠΊΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ просто "ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ" Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΈΡ… Π’ΠžΠ›Π¬ΠšΠž Ρ‚Π°ΠΌ, Π³Π΄Π΅ это Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ сниТаСт количСство Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… Ρ€Π΅Ρ€Π΅Π½Π΄Π΅Ρ€ΠΎΠ². Если Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ измСняСтся часто, мСмоизация Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ.


const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);
const memoizedCallback = useCallback(() => doSomething(c), [c]);




πŸ”Ή 2. РСэкспорт ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² для ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°
Когда Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², постоянныС ΠΈΠΌΠΏΠΎΡ€Ρ‚Ρ‹ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ Π² хаос. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ index.ts ΠΈ рСэкспортируйтС ΠΈΡ…:


// components/index.ts
export { default as Button } from './Button';
export { default as Input } from './Input';

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ:

import { Button, Input } from '@/components';




πŸ”Ή 3. ΠœΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ пропсы Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ…
Π§Π΅ΠΌ большС пропсов, Ρ‚Π΅ΠΌ слоТнСС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ Π΄Π΅ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΠ·Π°Ρ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.

❌ Π’Π°ΠΊ Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ Π½Π°Π΄ΠΎ:

<MyComponent name={name} age={age} isAdmin={isAdmin} />

βœ… А Ρ‚Π°ΠΊ Π»ΡƒΡ‡ΡˆΠ΅:

<MyComponent user={{ name, age, isAdmin }} />




πŸ”Ή 4. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ контСкст (useContext)
ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚ ΡƒΠ΄ΠΎΠ±Π΅Π½, Π½ΠΎ ΠΎΠ½ пСрСрисовываСт вСсь ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π Π°Π·Π±Π΅ΠΉΡ‚Π΅ контСкст Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅ части ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ сСлСкторы.


const userName = useContext(UserContext).name; // ИзмСнСниС Π΄Ρ€ΡƒΠ³ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… Π² контСкстС НЕ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ пСрСрисовку




πŸ”Ή 5. ДинамичСскиС ΠΈΠΌΠΏΠΎΡ€Ρ‚Ρ‹ для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ
Π Π°Π·Π±Π΅ΠΉΡ‚Π΅ ΠΊΠΎΠ΄ Π½Π° Ρ‡Π°Π½ΠΊΠΈ, загруТая ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΏΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΡŽ:


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

Π’Π΅ΠΏΠ΅Ρ€ΡŒ React ΠΏΠΎΠ΄Π³Ρ€ΡƒΠ·ΠΈΡ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ΅Π½!


⚑ ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ эти Ρ‚Ρ€ΡŽΠΊΠΈ Π² своих ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… ΠΈ Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ… Π²Ρ‹ ΡƒΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅!

✍️ @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/659

View MORE
Open in Telegram


React Telegram | DID YOU KNOW?

Date: |

Can I mute a Telegram group?

In recent times, Telegram has gained a lot of popularity because of the controversy over WhatsApp’s new privacy policy. In January 2021, Telegram was the most downloaded app worldwide and crossed 500 million monthly active users. And with so many active users on the app, people might get messages in bulk from a group or a channel that can be a little irritating. So to get rid of the same, you can mute groups, chats, and channels on Telegram just like WhatsApp. You can mute notifications for one hour, eight hours, or two days, or you can disable notifications forever.

How Does Bitcoin Mining Work?

Bitcoin mining is the process of adding new transactions to the Bitcoin blockchain. It’s a tough job. People who choose to mine Bitcoin use a process called proof of work, deploying computers in a race to solve mathematical puzzles that verify transactions.To entice miners to keep racing to solve the puzzles and support the overall system, the Bitcoin code rewards miners with new Bitcoins. β€œThis is how new coins are created” and new transactions are added to the blockchain, says Okoro.

React from ye


Telegram React
FROM USA