4. Забути return в Array.map()
Ти хотів трансформувати масив, а отримав набір undefined.
❌ Погано:
✅ Добре:
5. Мутувати масив чи об‘єкт напряму
Особливо болісно це бачити в React. Але навіть без нього — це гарний спосіб створити собі баг, який важко відловити.
❌ Погано:
✅ Добре:
6. Виклик setState у useEffect без залежностей
Це або нескінченний цикл, або лаги. Або все одразу.
❌ Погано:
✅ Добре:
І пам’ятай: порожній масив — це “виконати один раз“.
Бонус: забути await перед асинхронним викликом
Правильно:
💬 Пишіть у коментарях — зберемо колекцію помилок, які ми всі колись робили
TikTok | Instagram | Telegram
Ти хотів трансформувати масив, а отримав набір undefined.
❌ Погано:
const result = [1, 2, 3].map((n) => {
n * 2; // нічого не повертається!
});
✅ Добре:
const result = [1, 2, 3].map((n) => n * 2);
// або
const result = [1, 2, 3].map((n) => {
return n * 2;
});
5. Мутувати масив чи об‘єкт напряму
Особливо болісно це бачити в React. Але навіть без нього — це гарний спосіб створити собі баг, який важко відловити.
❌ Погано:
const arr = [1, 2, 3];
arr.push(4); // мутує оригінальний масив
✅ Добре:
const newArr = [...arr, 4]; // створює новий масив
const newObj = { ...oldObj, updatedProp: 42 }; // для обʼєктів
6. Виклик setState у useEffect без залежностей
Це або нескінченний цикл, або лаги. Або все одразу.
❌ Погано:
useEffect(() => {
setState(data);
});
✅ Добре:
useEffect(() => {
setState(data);
}, [data]); // вкажи залежності
І пам’ятай: порожній масив — це “виконати один раз“.
Бонус: забути await перед асинхронним викликом
const result = fetchData(); // Це проміс, а не результат!
Правильно:
const result = await fetchData();
💬 Пишіть у коментарях — зберемо колекцію помилок, які ми всі колись робили
TikTok | Instagram | Telegram