Библиотека фронтендера | Frontend, JS, JavaScript, React.js, Angular.js, Vue.js
22.1K subscribers
2.58K photos
170 videos
39 files
4.97K links
Все самое полезное для фронтенда в одном канале.

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

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

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

РКН: https://gosuslugi.ru/snet/67a5b6884689c2151c820bb4
Download Telegram
🔑 Cортировка по нескольким ключам

Когда нужно отсортировать массив объектов сразу по нескольким полям — вместо вложенных if можно сделать так:


const sortBy = (arr, keys) => [...arr].sort((a, b) =>
keys.reduce((res, k) => res || (a[k] > b[k] ? 1 : a[k] < b[k] ? -1 : 0), 0)
);


Где пригодится:

➡️ Сортировка таблиц и списков в UI;

➡️ Подготовка данных из API;

➡️ Фильтры («сначала по категории, потом по цене»).

⚡️ reduce + sort = компактный способ заменить кучу if-else и делать гибкую сортировку по любым ключам.

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

#readme #js
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🌚3🔥21
🪄 Как откатить коммит и не потерять работу

Бывает: сделал коммит слишком рано — что-то забыл или добавил лишнее. Удалять изменения не хочется, а переписывать руками — долго.

Решение:


git reset --soft HEAD~1


➡️ Что произойдёт:

— последний коммит исчезнет из истории,
— все изменения вернутся в staged,
— можно поправить и закоммитить заново.

🧠 Идеально для случаев «ой, рано нажал git commit».

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

#readme #git
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍5🔥1🥱1
💖 why-did-you-render: быстрый детектор утечек в React

Подозреваете рост памяти после навигации? Включите детектор «болтливых» ре-рендеров — часто именно они топят heap.

Решение:


npm i -D @welldone-software/why-did-you-render



// src/index.jsx
import React from 'react'
import wdyr from '@welldone-software/why-did-you-render'
wdyr(React, { trackAllPureComponents: true }) // dev only


(точечно: MyWidget.whyDidYouRender = true)

➡️ Что получите:

— Логи в консоли с причинами ре-рендера (diff пропсов/стейта),

— Быстрый поиск «шумных» компонентов: несмемоизированные пропсы, коллбеки без useCallback, эффекты без cleanup.

➡️ Дальше — фиксим: мемоизация, стабилизация пропсов, корректные useEffect cleanups.

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

#readme #react
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥1👏1