Telegram Group & Telegram Channel
πŸš€ ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ 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



tg-me.com/React_lib/651
Create:
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

View MORE
Open in Telegram


telegram Telegram | DID YOU KNOW?

Date: |

What is Telegram?

Telegram’s stand out feature is its encryption scheme that keeps messages and media secure in transit. The scheme is known as MTProto and is based on 256-bit AES encryption, RSA encryption, and Diffie-Hellman key exchange. The result of this complicated and technical-sounding jargon? A messaging service that claims to keep your data safe.Why do we say claims? When dealing with security, you always want to leave room for scrutiny, and a few cryptography experts have criticized the system. Overall, any level of encryption is better than none, but a level of discretion should always be observed with any online connected system, even Telegram.

The SSE was the first modern stock exchange to open in China, with trading commencing in 1990. It has now grown to become the largest stock exchange in Asia and the third-largest in the world by market capitalization, which stood at RMB 50.6 trillion (US$7.8 trillion) as of September 2021. Stocks (both A-shares and B-shares), bonds, funds, and derivatives are traded on the exchange. The SEE has two trading boards, the Main Board and the Science and Technology Innovation Board, the latter more commonly known as the STAR Market. The Main Board mainly hosts large, well-established Chinese companies and lists both A-shares and B-shares.

telegram from es


Telegram React
FROM USA