Telegram Group & Telegram Channel
Как писать чистый код в React? 🤔

Я знаю, что все хотят писать идеальный код, но реальность такова: зачастую приходится разбираться с грязными, запутанными компонентами. Сегодня покажу вам несколько принципов, которые помогут держать код в порядке.

1️⃣ Разбивайте компоненты 📌
Если ваш компонент растет и становится слишком сложным, разделите его на более мелкие части. Например, если у вас в компоненте 200 строк, скорее всего, это уже слишком.

Плохо:

const Profile = ({ user }) => {
return (
<div>
<img src={user.avatar} alt={user.name} />
<h2>{user.name}</h2>
<p>{user.bio}</p>
<button>Follow</button>
</div>
);
};

Хорошо:

const Avatar = ({ src, alt }) => <img src={src} alt={alt} />;
const UserInfo = ({ name, bio }) => (
<>
<h2>{name}</h2>
<p>{bio}</p>
</>
);
const FollowButton = () => <button>Follow</button>;

const Profile = ({ user }) => (
<div>
<Avatar src={user.avatar} alt={user.name} />
<UserInfo name={user.name} bio={user.bio} />
<FollowButton />
</div>
);




2️⃣ Используйте useMemo и useCallback
Если передаете функции в пропсы или у вас тяжелые вычисления, используйте мемоизацию.


const handleClick = useCallback(() => {
console.log("Clicked!");
}, []);




3️⃣ Следите за зависимостями в useEffect 🔍
Ловушка многих новичков: забывают указывать зависимости или наоборот — указывают лишнее.

Так делать нельзя:

useEffect(() => {
fetchData();
}, []);

Правильный вариант:

useEffect(() => {
fetchData();
}, [fetchData]);




Чистый код — это не просто прихоть, а необходимость! Если писать код аккуратно, вам (и вашим коллегам) будет проще его поддерживать.

А какие принципы чистого кода используете вы? Делитесь в комментариях! 👇

✍️ @React_lib



tg-me.com/React_lib/655
Create:
Last Update:

Как писать чистый код в React? 🤔

Я знаю, что все хотят писать идеальный код, но реальность такова: зачастую приходится разбираться с грязными, запутанными компонентами. Сегодня покажу вам несколько принципов, которые помогут держать код в порядке.

1️⃣ Разбивайте компоненты 📌
Если ваш компонент растет и становится слишком сложным, разделите его на более мелкие части. Например, если у вас в компоненте 200 строк, скорее всего, это уже слишком.

Плохо:


const Profile = ({ user }) => {
return (
<div>
<img src={user.avatar} alt={user.name} />
<h2>{user.name}</h2>
<p>{user.bio}</p>
<button>Follow</button>
</div>
);
};

Хорошо:

const Avatar = ({ src, alt }) => <img src={src} alt={alt} />;
const UserInfo = ({ name, bio }) => (
<>
<h2>{name}</h2>
<p>{bio}</p>
</>
);
const FollowButton = () => <button>Follow</button>;

const Profile = ({ user }) => (
<div>
<Avatar src={user.avatar} alt={user.name} />
<UserInfo name={user.name} bio={user.bio} />
<FollowButton />
</div>
);




2️⃣ Используйте useMemo и useCallback
Если передаете функции в пропсы или у вас тяжелые вычисления, используйте мемоизацию.


const handleClick = useCallback(() => {
console.log("Clicked!");
}, []);




3️⃣ Следите за зависимостями в useEffect 🔍
Ловушка многих новичков: забывают указывать зависимости или наоборот — указывают лишнее.

Так делать нельзя:

useEffect(() => {
fetchData();
}, []);

Правильный вариант:

useEffect(() => {
fetchData();
}, [fetchData]);




Чистый код — это не просто прихоть, а необходимость! Если писать код аккуратно, вам (и вашим коллегам) будет проще его поддерживать.

А какие принципы чистого кода используете вы? Делитесь в комментариях! 👇

✍️ @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/655

View MORE
Open in Telegram


telegram Telegram | DID YOU KNOW?

Date: |

Telegram hopes to raise $1bn with a convertible bond private placement

The super secure UAE-based Telegram messenger service, developed by Russian-born software icon Pavel Durov, is looking to raise $1bn through a bond placement to a limited number of investors from Russia, Europe, Asia and the Middle East, the Kommersant daily reported citing unnamed sources on February 18, 2021.The issue reportedly comprises exchange bonds that could be converted into equity in the messaging service that is currently 100% owned by Durov and his brother Nikolai.Kommersant reports that the price of the conversion would be at a 10% discount to a potential IPO should it happen within five years.The minimum bond placement is said to be set at $50mn, but could be lowered to $10mn. Five-year bonds could carry an annual coupon of 7-8%.

telegram from ca


Telegram React
FROM USA