Библиотека фронтендера | Frontend, JS, JavaScript, React.js, Angular.js, Vue.js
21.9K subscribers
2.69K photos
181 videos
40 files
5.05K links
Все самое полезное для фронтенда в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/77178ed4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5b6884689c2151c820bb4
Download Telegram
😱 Баг, который пропускают даже опытные разработчики

Казалось бы, простой условный рендеринг. Но вот вам сюрприз.

Когда items пустой массив, items.length равен 0. В JavaScript 0 — это falsy значение, поэтому выражение 0 && <ul> вернет 0.

React рендерит числа, поэтому на экране появится цифра 0!

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

function ProductList({ items }) {
return (
<div>
<h2>Товары</h2>
{items.length > 0 && <ul>
{items.map(item => <li key={item.id}>{item.name}</li>)}
</ul>}
</div>
);
}


Или еще лучше:

{!!items.length && <ul>...</ul>}


Или тернарный оператор:

{items.length ? <ul>...</ul> : null}


💡 Почему так происходит:

Оператор && возвращает первое falsy значение или последнее truthy:

0 && <Component /> → вернет 0 (React рендерит!)

false && <Component /> → вернет false (React не рендерит)

true && <Component /> → вернет <Component />

React не рендерит: false, null, undefined, true

React рендерит: числа (0, 1, -1), строки, компоненты


❗️ Оператор && используйте только с boolean значениями, а не с числами.

🐸 Библиотека фронтендера

#hotfix #react
Please open Telegram to view this post
VIEW IN TELEGRAM
1🥰1
📌 Git Blame с суперсилами

Обычный git blame показывает, кто последним менял строку. Но что если код был перемещён из другого файла или отформатирован? Есть команда, которая превращает Git в настоящего детектива.


git blame -w -C -C -C src/components/Button.jsx


ℹ️ Что делает каждый флаг:

-w — игнорирует пробелы и форматирование. Если кто-то запустил prettier на весь файл, Git «видит сквозь» это изменение и показывает реального автора логики.

-C — отслеживает копирование кода в пределах одного коммита. Вынесли функцию в отдельный файл? Git покажет оригинального автора.

-C -C — ищет копирование при создании нового файла. Идеально для рефакторинга, когда код переезжает в новые модули.

-C -C -C — ищет происхождение кода во всех коммитах. Покажет источник, даже если код путешествовал между файлами несколько раз.

🐸 Библиотека фронтендера

#readme #git
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰5🔥3
💬 Slack — UX, где всё под рукой

Сервис с фокусом на производительность.

🆖 В карточках разбираем, как фронтенд Slack создаёт ощущение слаженной работы, улучшая коммуникацию и взаимодействие в реальном времени.

🐸 Библиотека фронтендера

#ux_review
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
3😁1