Sergey
Тогда не понимаю
может из пропсов достать его сначала?
Sergey
ну или откуда там удобно
Archer
народ как скрыть временно эти предупреждения в приложении ?
I
window.addEventListener
ага, только он не позволит получить новый стейт и юзает дефолтный всегда
Vladimir
может из пропсов достать его сначала?
вы писали на реакте с тайпскриптом?
Archer
какие эти?
ошибочка, я про React Native
Sergey
вы писали на реакте с тайпскриптом?
да, только в личку не надо писать, если что))
Тимофей 🛴
ага, только он не позволит получить новый стейт и юзает дефолтный всегда
Ты что то делаешь не так, OnClickOutside реализован уже тыщей способов
Саша
Использования хука useRouteMatch(), вместо явного вытаскивания match из props компонента обернуго в Route, нормальная практика? Компонент так и остается обернутым в Route
Vladimir
да, только в личку не надо писать, если что))
Все, разобрался. заработало. Но выглядит не очень конечно. Думал можно как то красивее это на тайпскрипте писать
Саша
Но ведь наш компонент зависим от Route, и когда мы используем хук, вместо явного указания в пропсах RouteChildrenProps<T>, мы как бы скрываем эту зависимость. Или я это уже "оверинженирю"?
I
Ты что то делаешь не так, OnClickOutside реализован уже тыщей способов
какой есть норм плейграунд чтобы показать реакт?
Sergey
Ты что то делаешь не так, OnClickOutside реализован уже тыщей способов
а есть какой годный и доступный, ну так чтоб не клик, а фокус?
Sergey
А чем onBlur не подходит?
в смысле в чистом виде? Я думал может есть какая либа, которая аккуратно обходит боль, косвенно возникающую от этого... 🤔
Dima
Ребят, привет! Можете подсказать какую-то хорошую карусельку? Спасибо.
Sergey
Я просто не совсем понимаю про какую боль ты говоришь
автокомплит. При клике наружу (на самом деле блюр поля ввода), закрываем список. При этом если клик по элементу, то до клика дело не доходит. Такая вот боль
Sergey
по элементу в смысле внутри выпадающего списка
Sergey
можно конечно setTimeout, но прям бесит))
Саша
Всё таки, решил для себя что нужно юзать хук useRouteMatch(), компонент становиться проще, пропсы не засоряются лишними свойствами. Функциональность никуда не теряется
Тимофей 🛴
автокомплит. При клике наружу (на самом деле блюр поля ввода), закрываем список. При этом если клик по элементу, то до клика дело не доходит. Такая вот боль
Что то я не помню как решаютс такие проблемы, вроде просто preventDefault при кликах что бы не терялся фокус у инпута
Sergey
Что то я не помню как решаютс такие проблемы, вроде просто preventDefault при кликах что бы не терялся фокус у инпута
🤔 это по-моему на mousedown тогда надо, чтоб не терялся. В общем боль. Да и чё я, вряд ли либа это решит за меня...
I
Ты что то делаешь не так, OnClickOutside реализован уже тыщей способов
https://codesandbox.io/s/strange-kapitsa-4ntgs?fontsize=14&hidenavigation=1&theme=dark
Anton
у меня есть api запрос который обновляет state. как мне передать в props только уже обновленный state?
Yury
у меня есть api запрос который обновляет state. как мне передать в props только уже обновленный state?
ну если ты обновляешь стейт, а потом что-то из этого стейта передаешь как пропс ниже, то ты уже и так все сделал
Igor
У меня есть компонент в котором есть кнопочка -> которая делает запрос на сервер, как мне отследить что запрос завершился в компоненте где я вызываю этот запрос?
I
Ты что то делаешь не так, OnClickOutside реализован уже тыщей способов
Я собственно так и реализовал как в пасте, про идею со списком айдишников уже забыл что хотел когда писал, вспомню отпишу
Тимофей 🛴
https://codesandbox.io/s/strange-kapitsa-4ntgs?fontsize=14&hidenavigation=1&theme=dark
Опять не понятно, тебе не нравится что state expanded не меняется?
Dmitriy
да
Заведи стейт типа showSpinner . В начале запроса в тру ставь, по завершению в фолс
I
Опять не понятно, тебе не нравится что state expanded не меняется?
мне не нравится что он меняется, а в колбэке листенера я не могу его получить и приходится делать какой-то костыльный оверхед в виде отдельной переменной
Igor
Заведи стейт типа showSpinner . В начале запроса в тру ставь, по завершению в фолс
немного проблема в том что все идет через action reducer saga
Yury
немного проблема в том что все идет через action reducer saga
немного проблема в том что ты сразу не пишешь как у тебя реализовано
Igor
немного проблема в том что ты сразу не пишешь как у тебя реализовано
ну сорян ) я только разбираюсь в реакте) тут чтоб что то сделать надо потанцевать с бубнами
Тимофей 🛴
а как его туда передать?
Второй параметр useCallback, а в useEffect надо передать функцию которая передается в подписку
Daniil
либо линтер на хуки подключить)
I
Второй параметр useCallback, а в useEffect надо передать функцию которая передается в подписку
второй параметр useCallback это в массив или в список аргументов?
Sergey
например?
eslint-plugin-react-hooks. что например?
Юрий
через formik можно вытащить только те данные которые были редактированы а не всю модель?
Rrr
если вопрос про валидацию всей формы, то можно все 🤔
Юрий
при обновлении данных говорят, что нужно отправлять данные которые были изменены, а не всю модель...
Юрий
бэкенд)
Bogdan
при обновлении данных говорят, что нужно отправлять данные которые были изменены, а не всю модель...
бекенду не важно, он все равно внутри все проверить, всю пачку лупи
Sergey
объект touched
вроде не совсем. Лучше сравнивать с initial самому
Vladimir
вроде не совсем. Лучше сравнивать с initial самому
наверно. Плюс кажется если сначала написал, а потом стёр, то в touched всё равно поле будет
Sergey
метод put, а не post
put как раз про всё
Bogdan
метод put, а не post
ну лупи все, он тоже все проверит, в чем проблема то?
Sergey
patch про не всё)
Bogdan
всю форму кидай, ничего страшного не случится
Sergey
всю форму кидай, ничего страшного не случится
или учить бэкендеров ресту придётся походу 🤷‍♂️
Sergey
раз уж такого хотят
Юрий
я тоже так думаю, мне вытаскивать с формика как то не очень...
Bogdan
у тебя бекенды хотят только измененные данные? бред какой, им должно быть не важно, а если кто то левого поля кинет, бд упадет? лол
Юрий
если он возвращают всю модель
Vladimir
touched это для валидации вообще. Там про фокус
не совсем про фокус. Но туда попадает, даже если в поле зашёл, а значение не менял
Sergey
не совсем про фокус. Но туда попадает, даже если в поле зашёл, а значение не менял
зашёл и сошёл с него, уже touched. Засабмитил, уже touched. Это для валидации флаг)
Иван
Ребят, есть вопрос. Была кнопка с onClick={this.handleOpen}. Стал <CustomComponent> внутри которого теперь кнопка. Как хендлить нажатие на кнопку ? Так же как передавать пропсы ?
Bogdan
если он возвращают всю модель
а ты можешь в своей ф-и, санках или что у тебя, передать массив полей, если формик не дает, и по этим полям достать нужные поля раз так хочешь