Александр
Друзья пытаюсь делать фильтр в поиск но не знаю как вызвать запрос к api?
Легко же, заводите стейт для текста запроса (useState), делаете denounce (напишите свой useDebounce), потом используйте useEffect с debounced значением в deps, в нем и делайте вызовы к АПИ
Александр
Легко же, заводите стейт для текста запроса (useState), делаете denounce (напишите свой useDebounce), потом используйте useEffect с debounced значением в deps, в нем и делайте вызовы к АПИ
А ещё надо обеспечить механизм игнорирования ответов от api, если изменилось denounced значение и полетел новый запрос. Это чтобы избежать гонок.
Александр
Вроде не сложно звучит. Главное аккуратно подойти и по шагам все реализовать.
N
А ещё надо обеспечить механизм игнорирования ответов от api, если изменилось denounced значение и полетел новый запрос. Это чтобы избежать гонок.
Я про обновления данные сделал так: if (this.props.match.params.search !== prevProps.match.params.search || this.props.location.search !== prevProps.location.search) { this.props.request(get) }
N
Проверяю get или keywords если что то изменено то ссылаю запрос к api надеюсь так логично
N
не знаю что такое denounce
Александр
Debounce конечно, очевидная опечатка
Александр
Проверяю get или keywords если что то изменено то ссылаю запрос к api надеюсь так логично
А если пришёл ответ на запрос, а пользователь ввёл новый уже текст? Будут показаны неактуальные данные.
Александр
Ещё я бы проверял минимальную длину запроса, меньше двух символов обычно нет смысла слать запрос
N
Запрос идет только по нажатиям.
Dmitry
как сделать редирет используя состояние из redux
N
А если пришёл ответ на запрос, а пользователь ввёл новый уже текст? Будут показаны неактуальные данные.
то есть вы имеете ввиду живой поиск ? при наборе сразу общаться с сервером?
N
то есть вы имеете ввиду живой поиск ? при наборе сразу общаться с сервером?
Если да то нееет у меня парсер, такой количество запросов и сразу в бан
Dmitry
из сервера прилетает ответ и сравнивается с токеном в локал сторидж если соовпадают то ридерект на другую страницу вот так нужно сделать логику сделал ответ через 3 сек прилетает
Dmitry
History replace/push
модуль history поставить?
Александр
модуль history поставить?
Если используете react router то уже его используете
Dmitry
react-router-redux ?
Александр
Если не реакт роутер к вас, то надо в документацию к нему лезть. Ну или если вас устраивает редирект с перезагрузкой страницы то используете window.location
Александр
react-router-redux ?
Для данной задачи не нужен
Александр
Ну тогда обратиться к документации на роутер который используете
Dmitry
у мен редирект на другую страницу в этом же проекте
if(props.auth === true) { return <Redirect to="/second"/> } вот так в компоненте хотел но нет ответ позже прилетает
D
Как бы вы ответили на вопрос "какой самый большой челлендж с которым вы сталкивались в работе"?)
El
Привет. Один мой знакомый придумал тул для Cypress тестов из Swagger файла. Прошу тестить да каментить. https://twitter.com/RamirezAlex_/status/1175413854001664000
Максим
Вечер добрый. Есть у кого опыт Mobx с TS? Что я делаю не так? https://toster.ru/q/668563
Artem
добрый вечер друзья
Artem
подскажите пожалуйста, со стейта экспортю функцию, прокидуюю ее через пропсы как положено а в нужную компоненту она приходит не как функция а как обьект
Артем
Всем привет, подскажите пожалуйста, есть проект написаный с использование реакт. хотелось бы куда-то вынести информацию с компонентами, что бы любой разраб мог зайти в эту библиотку и посмотерть какие компоненты имеются
Artem
Artem
Artem
из state експорт как функция а приходит в компоненту как обьект
Andrew
из state експорт как функция а приходит в компоненту как обьект
А покажи как компонент к стору подключаешь
Артем
Storybook
супер, спасибо)
Andrew
Дак компонент Post откуда получает onChangeText ?
Alex
Слушайте, сейчас прохожу курс по Реакту и у меня возник вопрос. С введением хуков и контролем стейтов через них, имеют ли свое место компоненты на классах в новых приложениях? (Если я правильно въехал в работу хуков и преимущества классов против функциональных компонентов ранее)
Nathan
подскажите как из react приложения можно все текста спарсить рус и eng ?
Alex
ну сейчас реакт постепенно отказывается от концепции классов
То бишь имеет огромный смысл вникать в хуки и их нюансы, как и архитектуру базировать на их использовании?
Vladimir
Всем привет. У меня следующая проблема с IOS Я хочу заблокировать скролл на документе, и разрешить внутри главного блока с помощью overflow-y: scroll html, body { height: 100%; width: 100%; overflow: hidden; } Чтобы не делать position fixed на хедер, и на нижнее меню (должны быть фиксированы), а скролл работал только внутри главного блока. В хроме на андроиде - все замечательно, но на IOS начинаются проблемы, я так понимаю из-за их дебаунс скрола Если ты промахнулся палецем и зафокусил хедер, а не главный блок - фризится весь скрол (что и логично, у body стоит же hidden), и нужно снова тачнуть по блоку с overflow-y: scroll Как решать это? Какие есть способы ? Спасибо
Nathan
Шо ?
Нишо. нужно както текста обернуть для переводов для этого их ещё нужно выташить из проекта
Alex
ну знать про классы тоже нужно. бо куча легаси кода будет на нём
Это бесспорно, что про это нельзя забывать. Но если с нуля строить что-то, то можно отказываться смело от классов и использовать в случае крайней необходимости?
Alex
да
Большое спасибо)
Nathan
подскажите как из react приложения можно все текста спарсить рус и eng ?
никто в существующий проект интернационализацию не внедрял?
Dmitry
https://gitlab.com/Dmitry-iws/your-site/blob/master/src/Features/MainPage/MainPage.js не пойму как сделать редирект, при нажатии на Кинопку авторизации приходит ответ от сервера если значение сервера и Локал сторидж совпадают состояние в redux меняется и должен произойти редирект
artalar
Всем привет, подскажите пожалуйста, есть проект написаный с использование реакт. хотелось бы куда-то вынести информацию с компонентами, что бы любой разраб мог зайти в эту библиотку и посмотерть какие компоненты имеются
Это называется ветрина Если компоненты не будете оформлять в отдельный пакет то лучше не брать для это либу а сделать просто приватный роут для дев версии иначе могут быть проблемы с интеграциями и сборкой
Vladimir
Никто не сталкивался с моей проблемой?
Vladimir
могу ошибаться, но вроде как из соображений безопасности эпл запрещает блокировать скролл в сафари. мб гугл подскажет, давно сталкивался
Перерыл все гугл, но это же явно баг сафари. В хроме все отлично работает. Сделал тачстарт на хедере, скрол тупо фризится и все, нужно заново тапнуть по блоку с overflow scroll
artalar
У меня так было. Это дичь
> Если компоненты не будете оформлять в отдельный пакет
Влад
Всем привет, кто нибудь писал drag n drop на рекате ? Как по феншую юзать работу с dom, выносить это как то кудато вне компонентов, или это допустимо подписаться на события document внутри самого компонента ?
Влад
Ну mousemove мне же нужно ловить на документе
Влад
Сейчас я в mousedown на ref ссылке вешаю обработчик на document mousemove, а в mouseup его удаляю
Влад
Иначе, если повешать mousemove на документ можно вылететь за пределы элемента и всё сломается
Vadim
Если хочется больше хардкора то https://github.com/react-dnd/react-dnd
Влад
Я понимаю что есть готовые решения, это больше в обучающе практикующих целях, хотел просто узнать где хранить работу с дом, если без неё никак, является ли это по сути нарушением изоллированости компонента
artalar
https://github.com/atlassian/react-beautiful-dnd же
Он решает только узкий спектр задач да и весит как трактор
Vadim
Он решает только узкий спектр задач да и весит как трактор
Тут ты конечно прав. Но там можно подсмотреть как с dnd работать
artalar
Если хочется больше хардкора то https://github.com/react-dnd/react-dnd
react-dnd как раз не зардкор, а милая обертка над дичью нативного днд
Vadim
react-dnd как раз не зардкор, а милая обертка над дичью нативного днд
Поверю тебе, ибо тыкал все это дело уже больше года назад
Влад
Спасибо, гляну сорсы react-dnd )
artalar
это норм
Cenator 🐈
https://github.com/atlassian/react-beautiful-dnd же
>не поддерживает перенос строк (инлайн, флекс, флоат)