🦁
Извини.
да а чему обижаться то, русский чат же)
Anton
Гайс, у кого есть опыт тестинга компонентов с хуками, как подходите к делу? Если точнее тестинг react-redux: useSelector, useDispatch. Ресерч показал что либо тестят с полным моком стора, либо мокают модуль react-redux ( второй вариант IMHO такой себе ).
С моей стороны кажется что лучше было бы разбить на hoc ( который можно было бы реализовать через велосипед в духе connect своей реализации ) и view компоненты ( и тестить только hoc , ибо view буду сведены к мапингу без каких либо условий больше чем из 1 переменной с пропов, и дублировать верстку экспектами такой себе цирк ). Хотя тут приходит вопрос а зачем ток разбивать на hoc и view если можно таким же образом затестить с моком стора не отходя от кассы.
Буду признателен, если кто подкинет идей ( или со своего опыта ) по этому поводу.
Sheldhur
кто react-helmet-async юзал? как компоненты с Helmet энзимом тестить не оборачивая в тестах все в HelmetProvider? Я попробовал выставить в тестах HelmetProvider.canUseDOM = false; как в доке рекомендуют, но ниче не изменилось
Sergey
Sheldhur
потому что react-helmet сдох?
Sergey
да? А он и не жил по-моему 🤣 Лучше бы что-нибудь на хуках поискали
Sergey
https://github.com/lordgiotto/react-metatags-hook
Sergey
^ не рекомендую прям, если что. Просто загуглил. Лучше самому вообще написать под конкретные нужды
Sheldhur
ща пойду реакт еще перепишу, под конкретно свои нужды
Sergey
не путайте тёплое с мягким. react-helmet отстой (конечно же ИМХО), а переусложнён дико. А вот реакт простой, хотя преакт конечно как-то веселее
Sergey
react-router тоже отстой, если что
Sergey
но на вкус и цвет все фломастеры разные
Sergey
Sergey
без критического мышления далеко не уедешь тут
Sheldhur
я лучше выберу пакет который в депенсинсах у 155к проектов, чем заниматься потом бегом по граблям с пакетом у которого за пол года 12 звезд
Sergey
будете бегать по граблям в обоих случаях. А вот своё реализовать будет проще. А раз уж вы тесты пишете, то в чём вообще проблема?
Sergey
Sheldhur
ну депендесов у него ваще нет
Sheldhur
спасибо, не надо
Sheldhur
больше зависимостей -> больше найдено проблем -> больше пр -> меньше багов
Sergey
Sergey
я могу привести примеры, если есть смысл убеждать))) Надо?
Sheldhur
ты не так понял
Sheldhur
этого пакета нет в зависимостях ни у кого
Sergey
это не важно совсем. Этот пакет для приложений, а не библиотек. Если у такого пакета есть зависимые пакеты, то это говорит лишь о его усложнённости и каких-то наворотах типа плагинов. В простой системе это нафиг не нужно, а работает всё как часы
Sergey
ну и за пакет я не топлю, просто в закладках валяется на посмотреть. Я топлю за то чтобы посмотреть что есть и решить что нужно тебе
Sheldhur
важно
Sheldhur
не важно, если у тебя много времени, чтобы ходить по граблям
Sergey
в корне неверно. В react-helmet уйма граблей, которые они хрен исправят ввиду выбора долбанутого решения. react-helmet-async писал странный чувак, у которого проблемы с терминологией. Уже повод задуматься.
Sergey
давай я приведу пример из старого проекта, а ты скажешь хрень или нет? Я не вижу смысла спорить
Sergey
без критического мышления в экосистеме реакта никуда. Если бы я был модератором, я бы это в первое правило наверное написал 🤣
Vadim
Vadim
Sergey
Да
лучше самописного ничего не подскажу, увы. Обычно брали сорс react-document-title и перепиливали под свои нужды. Но сейчас уже хуки в ходу, наверное есть решения и получше
Sergey
react-document-title не значит что только тайтл и ставили, если что))
Sergey
Сейчас уже доступа к репозиторию нету. Запросил. Могу код скинуть, если надо
Sergey
А если прям хочется react-helmet, то лучше хотя бы через обвязку. Есть код прямо сейчас про такое. Но лучше своё. Скинуть?
MVD
Sergey
Это почему же? А какая не хреновая?
вкус и собственный опыт. Даня Абрамов в начале пути старил все репозитории где упоминался редакс. Так что вообще не показатель))) И хз чё на него все др**чат извините
MVD
MVD
А звёзды говорят о том что пакет пользуется популярностью, его выбирает большинство, у него есть комьюнити и ты не останешься наедине со своими багами в случае чего
Sergey
Sergey
Sergey
MVD
Если пакет никто не мейнтейнит и он заброшен уже пару лет, но зато у него прекрасное апи, будете тянуть ?
MVD
Если бы я на каждый пакет тратил неделю чтоб проштудировать весь нпм, я не думаю что то кто-то был бы доволен моей производительностью
Maxim
MVD
Sergey
Sergey
как можно выбирать первое что попало под руку? Сэкономив сейчас, можно (99% так и получится) огрести проблем потом
MVD
Sergey
Sergey
вот когда мало звёзд как раз помогает посмотреть код, чтоб понять годная тема или нет
MVD
У всех либо редакс либо мобх в продакшене, хотя существуют куева туча других стейт менеджеров, но никто же не будет рисковать
Sergey
Sergey
MobX пробовал, на вид понравился, на деле не очень
MVD
Sergey
Vue шняга. Angular шняга. Ещё примеры с большим количеством звёзд нужны?))
Sergey
Андрей
Sergey
Объективно?)
в кавычках, заметьте. Объективности не существует, когда есть место субъективности
MVD
Сейчас срач о стейт менеджерах начнётся) извиняюсь)
anoru
Дэн отличный маркетолог. Его редакс взлетел только от демок тайм тревела, которым никто на деле не пользуется. Это позволило ему стать известным на всех ресурсах, т.к. либу всюду запостили. А других решений на тот момент еще не было или они были менее популярны, или не работали с реактом нормально.
MVD
Короче мой пойнт в том, что как ни крути звёзды решают
Maxim
Илья
https://sun9-47.userapi.com/c855624/v855624924/15978d/-9FYbA0yCw0.jpg
как этот компонент называется ?)
Maxim
Anonymous
anoru
Anonymous
Anonymous
Большинству - нужен
MVD
MVD
Редакс
Вы его взяли потому что апи хорошее?)
Maxim
О том и речь
Бизнес решает, бизнес не будет брать технологию которая менее популярна и плюс которую не знают его програмисты