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: |

How Does Bitcoin Work?

Bitcoin is built on a distributed digital record called a blockchain. As the name implies, blockchain is a linked body of data, made up of units called blocks that contain information about each and every transaction, including date and time, total value, buyer and seller, and a unique identifying code for each exchange. Entries are strung together in chronological order, creating a digital chain of blocks. β€œOnce a block is added to the blockchain, it becomes accessible to anyone who wishes to view it, acting as a public ledger of cryptocurrency transactions,” says Stacey Harris, consultant for Pelicoin, a network of cryptocurrency ATMs. Blockchain is decentralized, which means it’s not controlled by any one organization. β€œIt’s like a Google Doc that anyone can work on,” says Buchi Okoro, CEO and co-founder of African cryptocurrency exchange Quidax. β€œNobody owns it, but anyone who has a link can contribute to it. And as different people update it, your copy also gets updated.”

The STAR Market, as is implied by the name, is heavily geared toward smaller innovative tech companies, in particular those engaged in strategically important fields, such as biopharmaceuticals, 5G technology, semiconductors, and new energy. The STAR Market currently has 340 listed securities. The STAR Market is seen as important for China’s high-tech and emerging industries, providing a space for smaller companies to raise capital in China. This is especially significant for technology companies that may be viewed with suspicion on overseas stock exchanges.

React from us


Telegram React
FROM USA