REACT_LIB Telegram 655
Как писать чистый код в 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
👍6😢1



tgoop.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


Share with your friend now:
tgoop.com/React_lib/655

View MORE
Open in Telegram


Telegram News

Date: |

The optimal dimension of the avatar on Telegram is 512px by 512px, and it’s recommended to use PNG format to deliver an unpixelated avatar. You can invite up to 200 people from your contacts to join your channel as the next step. Select the users you want to add and click “Invite.” You can skip this step altogether. Commenting about the court's concerns about the spread of false information related to the elections, Minister Fachin noted Brazil is "facing circumstances that could put Brazil's democracy at risk." During the meeting, the information technology secretary at the TSE, Julio Valente, put forward a list of requests the court believes will disinformation. According to media reports, the privacy watchdog was considering “blacklisting” some online platforms that have repeatedly posted doxxing information, with sources saying most messages were shared on Telegram. “[The defendant] could not shift his criminal liability,” Hui said.
from us


Telegram React
FROM American