tg-me.com/React_lib/659
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