Eugene
спасибо
Deyl
всегда пожалуйста, рад был помочь
Deyl
https://react-day-picker.js.org/examples/localization
Deyl
не мучайся с локализацией
Deyl
там все просто
Bowie
Лучше или хуже, чем: https://reactstrap.github.io/
Название не очень 🤢 по мне лучше пользовать родной пакет от производителей бутстрап
Vlad
Не знал что пакет от тимы бутстрапа, это сильно повлияло на выбор, спасибо!
Deyl
Лучше или хуже, чем: https://reactstrap.github.io/
Есть ещё semantic ui, сильно напоминает мотивы бутстрапа. Плюс, то что много компонентов готовых.
Игорь
Пацантре, а это нормальная практика вызывать метод дочернего компонента, обращаясь к нему через ref?
Kurzdor
Да.
dayjs говорят лучше date-fns
Deyl
Пацантре, а это нормальная практика вызывать метод дочернего компонента, обращаясь к нему через ref?
Скоро мы вообще не сможешь какие-либо методы в хуках(в данном случае функции) вызывать через ref, т.к. у функций нет экземпляров. A ref будет только форвардить в корневому DOM элементу.
Игорь
Спасибо
Cenator 🐈
https://reactjs.org/docs/hooks-reference.html#useimperativehandle
Ivan
Привет всем, углубляюсь в реакт,и хотел бы узнать насчет react-redux, а если точнее то про хук useDispatch. Юзая его, можно не создавать action creator как раньше?А прям сразу в нем описавать объект экшена? То есть это норм практика или я что-то не понимаю
Dan
Светлана Петрова - то что нужно!
Tesseract
https://api.flutter.dev/flutter/widgets/Stack-class.html подскажите пожалуйста аналог этого виджета на реакте
Anonymous
Ребят, а в чем преимущество серверного рендеринга реакта? Обычно же наоборот всю логику переводят на часть клиента чтобы не нагружать сервер, а тут наоборот
Пöß d'Ivoire
+seo
Anonymous
Так обычный spa можно же тоже для сео настроить?
Ivan
Andrey
Так обычный spa можно же тоже для сео настроить?
вроде ток гуголь спа нормально индексирует из коробки
Andrey
Других поисковиков и нет
ну если у тебя таргет аудитория в яндексе, удачи
Ivan
Просто выведите любой спа проект в топ по запросу от 10к, станет понятно как это работает
Mikhail
Нет проектов с разделением аудитории по поисковикам
Mikhail
В ру сегменте более менее равномерно гугл и яндекс, и небольшой процент экзотичных вариантов
Mikhail
Игнорировать Яндекс такая себе идея, а без сср яндекс вместо контента будет видеть хуйню
Timofey
вопрос по react + redux. можно как нибудь получить store в контейнере, НО не через mapStateToProps? ситуация такова, что есть необходимость вызвать getState в методе компонента
Timofey
useStore().getState()
что за useStore?
Андрей
что за useStore?
Гугли доку по react-redux
Timofey
useStore().getState()
нет мне не hook нужен. у меня класс, мне нужно в нем получить store
Timofey
Гугли доку по react-redux
или с классом он совместим?
Timofey
Зачем вам getState в компоненте?
нужно так, долго объяснять.
Timofey
@Baxxterkhv если в mapStateToProps подписаться на весь store то компоннет будет постоянно рендериться. а мне нужно получать весь стор только в определенный момент, достаточно редко. потому и нужен store с getState
Timofey
попробуй импортировать его оттуда, где создаешь но я чето слабо себе представляю кейс использования
нет туда доступа, это внутри npm модуля, вот через контекст только и получиться его перехватить
Timofey
попробуй импортировать его оттуда, где создаешь но я чето слабо себе представляю кейс использования
а кейс использования например такой: в одном из контейнеров самого верхнего уровня тебе нужен доступ ко всему стору, например ты хочешь по нажатию кнопки взять весь state глобальный и сохранить его в localStorage. ты же не будешь из-за этого подписываться на все изменения store и заставлять твой контейнер ререндериться постоянно
Timofey
Это в саге/санках/мидлваре должно делаться по диспатчу отдельного экшена.
а если твой контейнер принимает callback в который аргументом должен быть передан state
Николай
Всем привет. Такой вопрос: как делать код ревью своих проектов? Написал я допустим за своё время обучения кучу разных ботов и пару spa на реакте, и вроде бы всё работает, но как понять сделал ли ты всё правильно и найти тупые косяки которые появились из-за нехватки знаний?
Timofey
Это в саге/санках/мидлваре должно делаться по диспатчу отдельного экшена.
придется тогда callback кидать в action/санк, а это будет криво выглядеть в devtools redux и вообще выбивается из концепции использования редукса)
Nikolai
придется тогда callback кидать в action/санк, а это будет криво выглядеть в devtools redux и вообще выбивается из концепции использования редукса)
Нет, в этом нет ничего крамольного. Пишете свою мидлваре, которая по нужному екшену вызывает колбек передавая в него стейт.
Николай
попросить более опытного провести ревью и аргументировать свои замечания и рекомендации
да, это самое очевидное. Но может быть существуют какие-нибудь сервисы, которые таким промышляют?
Nikolai
У вас интеграция с внешним приложением там или что за кейс? Интересно стало)
Timofey
Нет, в этом нет ничего крамольного. Пишете свою мидлваре, которая по нужному екшену вызывает колбек передавая в него стейт.
к мидлваре не хорошо цепляться как я уже говорил, действия происходят внутри модуля. не стоит внешней среде диктовать требования по работе стора.
Nikolai
к мидлваре не хорошо цепляться как я уже говорил, действия происходят внутри модуля. не стоит внешней среде диктовать требования по работе стора.
А ещё нехорошо держать логику работы с данными внутри слоя представления(реакта). Так что ещё под вопросом что более неправильно)
Timofey
У вас интеграция с внешним приложением там или что за кейс? Интересно стало)
долго объяснять. суть в том, что есть npm модуль, который создает свою ячейку стора и работает с ней. и в какой-то момент, при исопльзовании модуля, может появиться желание получить что-то из store, то есть иметь какой-то свой селектор. но ячейка стора довольно большая и хранить целиком все в контейнере не годиться из-за перерендеров. по этому селектор должен иметь доступ к getState
Timofey
Nikolai
Перепишите hoc
Nikolai
да там это происходит в HOC который может оборачивать целое дерево компонентов
Я уже 3 решения тебе предложил, но ты не одно не попробовал, потому что оно в теории "неправильное". Тебе фичу надо бизнесу дать или идеальный код написать?
Timofey
Я уже 3 решения тебе предложил, но ты не одно не попробовал, потому что оно в теории "неправильное". Тебе фичу надо бизнесу дать или идеальный код написать?
да неее, я ж тебе говорю причины. 1. прокидывать callback в action не хочется что бы не гадить в devtools, а так же не захломлять тесты которые снапшотят историю экшенов. 2. юзать мидлвары не хочется что бы не обязывать пользователя npm модуля навешивать что-то в createStore. 3. consumer и получение от туда store это решение проблемы)
Oleg
ребят, подскажите. Какое есть норм решение, чтобы предзагрузку изображений делать?
Oleg
причем таких, которые <img src="" srcSet="" /> ? проблема в том, что умные браузеры уже давно отслеживают srcSet и сразу грузят ретина картинку, вместо обычной. А любые готовые либы, которые я нахожу - не решают таких задач
Oleg
пытался написать сам через img.onload отслеживание, но возникает проблема, что в обычных браузерах все равно загружается ретина картинка
Oleg
ага
Oleg
в этом-то и прикол. Я перебрал 6 разных библиотек. Все отслеживают загрузку src пути.. либо предлагают массивом указывать все srcSet варианты, при этом явно видно по нетворку, как браузер загружает все варианты картинок..
Oleg
я кроме как варианта: написать свой обработчик, который будет показывать плейсхолдер пока загружается НУЖНОЕ изображение через отслеживание if(window.devicePixelRatio >= 2) не придумал :(
Oleg
Кейс какой ?
дождаться, пока загрузится картинка - и показать ее целиком. При этом обрабатывать нативное поведение определения srcSet браузеров
Daniil
дождаться, пока загрузится картинка - и показать ее целиком. При этом обрабатывать нативное поведение определения srcSet браузеров
То есть пользователь будет ждать целой картинки а не кусками ее видеть. Интересно. Онлоад и жанглирование классов тоже не ?
Oleg
onLoad хавает только тег src