tg-me.com/React_lib/656
Last Update:
π ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ React-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ: useMemo ΠΈ useCallback
ΠΡΠΈΠ²Π΅Ρ, Π΄ΡΡΠ·ΡΡ! Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ, ΠΊΠ°ΠΊ useMemo ΠΈ useCallback ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ React-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
π ΠΡΠΎΠ±Π»Π΅ΠΌΠ°
ΠΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠ΅ΡΠ΅Π½Π΄Π΅ΡΡΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ°ΡΡΠΎ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΠ°Π΄Π°Π΅Ρ. ΠΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ Π² Π½ΠΈΡ
ΡΡΠΆΠ΅Π»ΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠ»Π»Π±ΡΠΊΠΈ, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΠΈΠ΅ΡΡ Π² Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ.
π Π Π΅ΡΠ΅Π½ΠΈΠ΅: useMemo ΠΈ useCallback
β
useMemo β ΠΌΠ΅ΠΌΠΎΠΈΠ·ΠΈΡΡΠ΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΠ΅ΡΠ΅ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ΅ΡΠ΅Π½Π΄Π΅ΡΠ΅.
const expensiveCalculation = useMemo(() => {
return someHeavyFunction(data);
}, [data]); // ΠΠ΅ΡΠ΅ΡΡΠΈΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ data
β useCallback β ΠΌΠ΅ΠΌΠΎΠΈΠ·ΠΈΡΡΠ΅Ρ ΡΠ°ΠΌΡ ΡΡΠ½ΠΊΡΠΈΡ, ΡΡΠΎΠ±Ρ Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΡ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ΅ΡΠ΅Π½Π΄Π΅ΡΠ΅. ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΠ΅ ΠΊΠΎΠ»Π»Π±ΡΠΊ Π² Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ.
const handleClick = useCallback(() => {
console.log("Clicked!");
}, []); // Π€ΡΠ½ΠΊΡΠΈΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅ΡΠΎΠ·Π΄Π°Π²Π°ΡΡΡΡ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ΅ΡΠ΅Π½Π΄Π΅ΡΠ΅
β οΈ ΠΠ°ΠΆΠ½ΠΎ:
ΠΠ΅ ΡΡΠΎΠΈΡ ΠΌΠ΅ΠΌΠΎΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΡ ΠΏΠΎΠ΄ΡΡΠ΄! ΠΡΠΎ Π½Π΅ ΠΏΠ°Π½Π°ΡΠ΅Ρ, Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΡΠ»ΡΡΠ°Π΅Π². ΠΡΠ»ΠΈ Π»ΠΈΡΠ½ΡΡ ΠΌΠ΅ΠΌΠΎΠΈΠ·Π°ΡΠΈΡ, ΡΠΎ ΠΎΠ½Π° ΡΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
ΠΡ ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ useMemo ΠΈ useCallback Π² ΡΠ²ΠΎΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ ? ΠΠΈΡΠΈΡΠ΅ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ !
βοΈ @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/656