🦁
Извини.
да а чему обижаться то, русский чат же)
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; как в доке рекомендуют, но ниче не изменилось
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
будете бегать по граблям в обоих случаях. А вот своё реализовать будет проще. А раз уж вы тесты пишете, то в чём вообще проблема?
Sheldhur
ну депендесов у него ваще нет
Sheldhur
спасибо, не надо
Sergey
ну депендесов у него ваще нет
вот это прям достойный критерий. Нужен зоопарк зависимостей? Или не так понял?
Sheldhur
больше зависимостей -> больше найдено проблем -> больше пр -> меньше багов
Sergey
я могу привести примеры, если есть смысл убеждать))) Надо?
Sheldhur
ты не так понял
Sheldhur
этого пакета нет в зависимостях ни у кого
Sergey
это не важно совсем. Этот пакет для приложений, а не библиотек. Если у такого пакета есть зависимые пакеты, то это говорит лишь о его усложнённости и каких-то наворотах типа плагинов. В простой системе это нафиг не нужно, а работает всё как часы
Sergey
ну и за пакет я не топлю, просто в закладках валяется на посмотреть. Я топлю за то чтобы посмотреть что есть и решить что нужно тебе
Sheldhur
важно
Sheldhur
не важно, если у тебя много времени, чтобы ходить по граблям
Sergey
в корне неверно. В react-helmet уйма граблей, которые они хрен исправят ввиду выбора долбанутого решения. react-helmet-async писал странный чувак, у которого проблемы с терминологией. Уже повод задуматься.
Sergey
давай я приведу пример из старого проекта, а ты скажешь хрень или нет? Я не вижу смысла спорить
Sergey
без критического мышления в экосистеме реакта никуда. Если бы я был модератором, я бы это в первое правило наверное написал 🤣
Sergey
Что вместо него?
вместо react-helmet имеете ввиду?
Sergey
Да
лучше самописного ничего не подскажу, увы. Обычно брали сорс react-document-title и перепиливали под свои нужды. Но сейчас уже хуки в ходу, наверное есть решения и получше
Sergey
react-document-title не значит что только тайтл и ставили, если что))
Sergey
Сейчас уже доступа к репозиторию нету. Запросил. Могу код скинуть, если надо
Sergey
А если прям хочется react-helmet, то лучше хотя бы через обвязку. Есть код прямо сейчас про такое. Но лучше своё. Скинуть?
MVD
количество звёзд это хреновая метрика, кстати
Это почему же? А какая не хреновая?
Sergey
Это почему же? А какая не хреновая?
вкус и собственный опыт. Даня Абрамов в начале пути старил все репозитории где упоминался редакс. Так что вообще не показатель))) И хз чё на него все др**чат извините
Sergey
Интересная у вас метрика. А как определить вкус пакета извините?
посмотреть апи. И ещё код, хотя бы мельком. Вкус это тот который надо иметь, а не чувствовать © Ваш Кэп
MVD
посмотреть апи. И ещё код, хотя бы мельком. Вкус это тот который надо иметь, а не чувствовать © Ваш Кэп
Ты знаешь примерно сколько существует библиотек для работы с датами? Предлагаешь заходить в каждую и читать исходники? Тебе год понадобится чтобы один пакет выбрать
MVD
А звёзды говорят о том что пакет пользуется популярностью, его выбирает большинство, у него есть комьюнити и ты не останешься наедине со своими багами в случае чего
MVD
Если пакет никто не мейнтейнит и он заброшен уже пару лет, но зато у него прекрасное апи, будете тянуть ?
MVD
Если бы я на каждый пакет тратил неделю чтоб проштудировать весь нпм, я не думаю что то кто-то был бы доволен моей производительностью
MVD
Если нету другого выхода разве что
Речь как раз о том чтобы выбрать date-fns например, у которого куча звёзд, или идти искать либу опираясь на свой вкус
Maxim
Речь как раз о том чтобы выбрать date-fns например, у которого куча звёзд, или идти искать либу опираясь на свой вкус
Я лично смотрю на вкус, что понравиться по примерам из доки. Но иногда выбор очень скуд, и перебираешь пакеты в поисках того что б хоть заработало примерно как тебе нужно
Sergey
как можно выбирать первое что попало под руку? Сэкономив сейчас, можно (99% так и получится) огрести проблем потом
MVD
как можно выбирать первое что попало под руку? Сэкономив сейчас, можно (99% так и получится) огрести проблем потом
Речь о том что в любом случае выбор стоит перед либами с большим количеством звезд
Sergey
вот когда мало звёзд как раз помогает посмотреть код, чтоб понять годная тема или нет
MVD
У всех либо редакс либо мобх в продакшене, хотя существуют куева туча других стейт менеджеров, но никто же не будет рисковать
Sergey
Sergey
MobX пробовал, на вид понравился, на деле не очень
MVD
может потому что они "объективно" хороши? Я выберу redux не задумываясь, например
Если вы считаете редакс объективно хорошим, нам не о чем продолжать
Sergey
Vue шняга. Angular шняга. Ещё примеры с большим количеством звёзд нужны?))
Sergey
Объективно?)
в кавычках, заметьте. Объективности не существует, когда есть место субъективности
MVD
Сейчас срач о стейт менеджерах начнётся) извиняюсь)
anoru
Дэн отличный маркетолог. Его редакс взлетел только от демок тайм тревела, которым никто на деле не пользуется. Это позволило ему стать известным на всех ресурсах, т.к. либу всюду запостили. А других решений на тот момент еще не было или они были менее популярны, или не работали с реактом нормально.
MVD
Короче мой пойнт в том, что как ни крути звёзды решают
Илья
https://sun9-47.userapi.com/c855624/v855624924/15978d/-9FYbA0yCw0.jpg как этот компонент называется ?)
Anonymous
Хорошо, что сейчас не нужен
Ну это уже кому как
Anonymous
Большинству - нужен
MVD
Редакс
О том и речь
MVD
Редакс
Вы его взяли потому что апи хорошее?)
Maxim
О том и речь
Бизнес решает, бизнес не будет брать технологию которая менее популярна и плюс которую не знают его програмисты