tg-me.com/React_lib/651
Last Update:
π ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ React-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ: 5 ΡΠ΅Ρ
Π½ΠΈΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ
Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ Π²Π°ΠΌ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΊΠΎΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ React-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΡΠΎΡΠΌΠΎΠ·ΠΈΡΡ.
1οΈβ£ ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ React.memo
ΠΡΠ»ΠΈ Π²Π°Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΠ΅ΡΠ΅Π½Π΄Π΅ΡΠΈΡΡΡ Π±Π΅Π· ΠΏΡΠΈΡΠΈΠ½Ρ, ΠΎΠ±Π΅ΡΠ½ΠΈΡΠ΅ Π΅Π³ΠΎ Π² React.memo()
. ΠΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡ Π½Π΅Π½ΡΠΆΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΠΊΠΈ, Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠΏΡΡ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈΡΡ.
const OptimizedComponent = React.memo(({ data }) => {
return <div>{data}</div>;
});
2οΈβ£ ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠΉΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Ρ useMemo ΠΈ useCallback
Π§Π°ΡΡΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ° β ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° Π²
useContext
ΡΠ»ΠΎΠΆΠ½ΡΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π±Π΅Π· ΠΌΠ΅ΠΌΠΎΠΈΠ·Π°ΡΠΈΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ useMemo
ΠΈ useCallback
Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ.
const value = useMemo(() => ({ user, logout }), [user]);
3οΈβ£ Π Π°Π·Π±Π΅ΠΉΡΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° Π°ΡΠΎΠΌΠ°ΡΠ½ΡΠ΅ ΡΠ°ΡΡΠΈ
Π§Π°ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Ρ ΡΠ°Π½ΡΡ Π²Π΅ΡΡ ΡΡΠ΅ΠΉΡ Π² ΠΎΠ΄Π½ΠΎΠΌ
useState
, Π½ΠΎ Π»ΡΡΡΠ΅ ΡΠ°Π·Π±ΠΈΡΡ Π΅Π³ΠΎ Π½Π° ΡΠ°ΡΡΠΈ. Π’Π°ΠΊ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΠ΅ΡΠ΅Π½Π΄Π΅Ρ Π²ΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°.
const [name, setName] = useState("");
const [age, setAge] = useState(0);
4οΈβ£ ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΠΎΠ΄Π³ΡΡΠ·ΠΊΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² (Code Splitting)
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
React.lazy
Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΏΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ.
const LazyComponent = React.lazy(() => import("./BigComponent"));
5οΈβ£ ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΏΠΈΡΠΊΠΈ
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² (ΡΠΏΠΈΡΠΎΠΊ Π² 1000+ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²), ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
react-window
ΠΈΠ»ΠΈ react-virtualized
.
import { FixedSizeList as List } from "react-window";
<List height={400} itemCount={items.length} itemSize={35}>
{({ index, style }) => <div style={style}>{items[index]}</div>}
</List>;
βοΈ @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/651