Ilya
Всем привет, хочу, чтобы при нажатии на Создать пользователя открывалась отдельная вкладка с формой заполнения и после удачного создания этот пользователь добавлялся в общий массив с пользователями, этот массив я вывожу в этом dropdown и, чтобы всё было динамически, вопрос заключается в том, как можно синхронизировать две вкладки ? Использую redux для хранения массива
Ilya
ServiceWorker и гугл
Использовать что-то типа Broadcast Channel API ?
Oleksandr
o.title либо searchQuery у тебя undefined
Спасибо, сейчас смотреть буду
Ivan
Использовать что-то типа Broadcast Channel API ?
Не знаю, не трогал. Просто знаю, что сервисворкеры — православный способ взаимодействия вкладок между собой.
Philipp
А откуда хук useThunkDispatch()?
wolfe
А откуда хук useThunkDispatch()?
это затипизированный под thunk useDispatch. он по типам не позволяет диспатчить функции из коробки
wolfe
Хз, диспач как диспач, он не ругается
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/react-redux/index.d.ts#L484
Bogdan
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/react-redux/index.d.ts#L484
С компа гляну позже, но я типизировал и все было нор один косяк в типизация екшенов был, там можно левого прислать и ошибки не будет
wolfe
С компа гляну позже, но я типизировал и все было нор один косяк в типизация екшенов был, там можно левого прислать и ошибки не будет
а, это тоже можно затипизировать. вообще, типы с редаксом –– отдельный раздел специальной олимпиады
wolfe
ну, справедливости ради, после декларации всего, что можно, код писать вполне сносно
Kostya
Если компонент все ещё виден, то он либо создался либо обновился. А пересоздаться он может если ему key изменить
Я может не понимаю((( я из "/" перейду в "/admin" потом назад! Вопрос Home пересоздастсся или обновится? <BrowserRouter> <Switch> <Route path="/" exact component={Home} /> <Route path="/admin" component={Admin} /> <Route path="/upload" component={Upload} /> </Switch> </BrowserRouter>
Bogdan
а, это тоже можно затипизировать. вообще, типы с редаксом –– отдельный раздел специальной олимпиады
А ты попробуй в екшен или редюсер передать что то другое, ошибку светит?
Bogdan
не понял немного. откуда передать куда?
Да проще показать, позже напишу, проверишь заодно, просветите ли типы
wolfe
Да проще показать, позже напишу, проверишь заодно, просветите ли типы
ну т.к. диспатч затипизирован, он не даст задиспатчить незадекларированый литерал action.type. данные, соответственно, тоже по типам не пройдут
Valentin
Возможно через React.cloneElement передать реф или создать для компонента который хочу скопировать, изменив пару просов?
Kostya
Размонтируется, при переходе. Когда зайдешь на / монтируется
то есть пересоздает? а есть варииант чтоб както сохранялся и обновлялся?
Kostya
Ну есть стейт внутри если там. он же пересоздается и стейт внутри не сохранется!
Евгений [ : Kyber : ]
Всем привет Кто работал с react-table подскажите плиз как русифицировать ее компоненты. К примеру пагинацию. Не могу найти в гугле, офф доки тоже пролистал, ничего. Может кто сталкивался с решением.
Ольгерд
Всем привет. Погуглил, но что не всё равно не понятно. Если у меня в сторе redux есть список постов posts и мне надо изменить внутри один пост, как это сделать? Написать экшен в котором будет type и, например, payload = {id: 1, text: "new text"}. Написать редьюсер в который будет передаваться экшен и который будет возвращать новый state Вопрос. В каком месте мне менять нужный post? В экшене или уже фильтр и добавление нового прописать прямо в редьюсере? Или где вообще?
Mikhail
Всем привет! такой вопрос - решил сделать SSR в своем пет проджекте, сделал - сразу в div#root прилетает разметка моего приложения и все работает нормально. Решил пойти дальше - прикрутить react-router прикрутил, все работает но при рендаре у меня пропала разметка из div#root и меня это смутило, верное ли это поведение? если нет - в какую сторону посмотреть ? спасибо
Ольгерд
CRUD: c,u,d - редусер r - селектор
Спасибо. Просто я думал логику в редьюсере писать плохая практика
artalar
Хотелось бы что бы нет
artalar
Проблема редусеров в том что они не могут брать данные из результата друг друга
Neyron
Сегодня увидел что на вики написано об инкапсуляции совершено другое о чем пишут в статьях, на том же хабре это скрытый механизм но на Вики это упаковка данных в единый компонент где тут правда?
Ольгерд
вики
Neyron
А где пруфы?
Ольгерд
Инкапсуляция включает в себя сокрытие, но называть это сокрытием нельзя
Valentin
Возможно в реакте скопировать элемент и сохранить реф, а если его нет создать новый, что бы работать с ним???
Neyron
Инкапсуляция включает в себя сокрытие, но называть это сокрытием нельзя
Что это значит включает но назвать нельзя, а как тогда?
Ольгерд
А где пруфы?
Там же на вики и пруфы. Посмотри js объект. Есть открытый метод, релизующий интерфейс, а есть закрытый механизм. Совокупно получается некий объект, у которого есть интерфейс и какая-то внутренняя магия. Это и есть инкапсуляция.
The Max
Посоны, мы вчера зарелизили либу для удобного дата-фетчинга на клиенте: https://github.com/zeit/swr Feedback welcome 🙌
🦜
<SWRConfig value={{ refreshInterval: 1000 }}> пиздец, правда
можно ли это вынести как у axios, ky.js при создании конфига?
Daniil
🌚
Александр
Нет, есть суспенс
Ну это теплое и мягкое
The Max
Ну это теплое и мягкое
Я ж написал “на клиенте” специально) Для SSR другие решения (Next.js 😏)
The Max
и тут влитает сова
Одни птицы кругом 😄
Александр
и тут влитает сова
Некст ругать ? :)
Default
Посоны, мы вчера зарелизили либу для удобного дата-фетчинга на клиенте: https://github.com/zeit/swr Feedback welcome 🙌
Бегло посмотрел и не очень понял, а в чём была мотивация писать подобное решение?
Александр
The Max
Бегло посмотрел и не очень понял, а в чём была мотивация писать подобное решение?
Загрузка/обновление данных после отдачи скелета, авторефреш, локальный кэш для клиентской навигации
The Max
👆
The Max
Проблема какая была, что побудила начать писать лисапед?
Когда в SSR происходит много запросов данных (зачастую повторяющихся, т.е. юзер-инфо и т.п.), которые могут быть медленными, навигация для юзеров превращалась в боль и прогрессбары
The Max
Последние 3 месяца вся навигация на zeit.co юзает это решение, проблем ни у нас ни у пользователей не было
arthur
блин, это прям плохо, откуда взялось 1.4k?
реддит, твиттер и так далее
The Max
блин, это прям плохо, откуда взялось 1.4k?
Twitter/Reddit в основном 😄 “Прям плохо” можно к слову уточнить 😉
The Max
похоже на https://github.com/async-library/react-async
Ага, мейнтейнер уже высказался на реддите, что он не согласен и все должны юзать его либу 😄
Maksim
Twitter/Reddit в основном 😄 “Прям плохо” можно к слову уточнить 😉
основной мой хейт за mutate это что фетчер или стейт менеджер?
The Max
основной мой хейт за mutate это что фетчер или стейт менеджер?
revalidate лежит где-то посередине См. модель хуков Данные всегда идут от фетчера вниз, потому это имело смысл
The Max
Вообще рекомендую потестить Я был первым противником этого решения, когда мы начали над ним работать 😄
Maksim
а чего там тестить? фетчить данные из компонентов? камон 2019 заканчивается
The Max
Суть либы в том, чтобы не волноваться о датафетчинге в принципе const userData = useUserData() и пошел, про управление фетчингом можно забыть
The Max
Из коробки скорость, кэш, ревалидация, рефреш, infinite-scroll, и т.п.
🦜
Из коробки скорость, кэш, ревалидация, рефреш, infinite-scroll, и т.п.
все это круто, но хотелось бы без хуков и завязанности на реакте
The Max
все это круто, но хотелось бы без хуков и завязанности на реакте
Тогда возможно реакт-либа не для тебя в этом случае 😅
🦜
Тогда возможно реакт-либа не для тебя в этом случае 😅
смысл делать либу для фетчинга, которая вне реакте мертвая?