Cenator 🐈
можно пушить?
Ну если работает все
artalar
[react-testing-library] Warning: An update to TodoList inside a test was not wrapped in act(...). Где этот act взять?
artalar
спасибо
Yerlan
Залил образ докера на сервер, 404 ошибка. 🤦‍♂ В чем может быть проблема? Сервер перезагрузил
N
друзья если компонент который отображает контент когда тот часть видно на экране? то есть загрузит когда отображается этот часть на экран.
Bogdan
кто шарит, если я содал обьек в компоненте, он при каждом чихе и пуке будет пересоздаваться, а если вернул эот обьект из useState , то при перерендере он пересоздаваться не будет, а только при размонтировании?
Bogdan
Да, так работают функции
а useMemo после размонтирования сохранит ссылку?
Vadim
а useMemo после размонтирования сохранит ссылку?
Попробуй. Это легко протестировать
Алексей
Друзья, есть задание сделать онлайн домино на реакте
Алексей
Кто может посоветовать что почитать или посмотреть? Ибо идей как начинать ваще нет
Andrey
Друзья, есть задание сделать онлайн домино на реакте
пожалуй, самый релевантный вопрос для етого чата ахх, редачер!
Алексей
сорян!))))) не на ангуляре)) на реакте))
Фарид
Ну а там само сообразится.
Фарид
Сначала напиши сайдбар с доминошками.
Фарид
Потом сделай darg&drop на поле.
Фарид
Потом сделай сетку на transform translate, как и drag&drop доминошек.
Yerlan
Как развернуть второй образ в списке, это докер
Алексей
Сначала напиши сайдбар с доминошками.
та в том то и дело, что я не представляю как корректно сверстать эти доминошки, что бы потом можно было корректно работать с их полями. Там ведь на каждой стороне разные значения
Danila
та в том то и дело, что я не представляю как корректно сверстать эти доминошки, что бы потом можно было корректно работать с их полями. Там ведь на каждой стороне разные значения
Суть реакта в том, что не "поля" зависят от вёрстки, а в том, что ты работаешь с доминошками как с данными, а реактом эти данные просто выводишь в нужном виде
Danila
Поэтому сначала делай логику работы с доминошками как с данными, а потом выводи уже то что получается в результате работы этой логики
Алексей
Типа главное написать то, как все это будет взаимодействовать, а в последнюю очередь сделать вьюху для всего этого? Верно?
Алексей
Слушай.....а ведь правда)))) спасибо))) Спасибо, ребятки))))) я даже немного приободрился)
Victor
Как из-вне (в тесте) дернуть изменение стейта функционального компонента? Для классовых мы по рефу стучались
Anonymous
Никто не знает, есть ли хук для детекта свайпа на мобилке?
Anonymous
https://github.com/dogfessional/react-swipeable
Anonymous
немного обновилось тестовое aviasales. Добавили серверную часть. Но я не понимаю какой от неё толк, если фильтровать билеты по прежнему предполагается на стороне клиента. Может я что-то непонял ? https://github.com/KosyanMedia/test-tasks/tree/master/aviasales_frontend
Dmitry
О. У всех говнокодеров вижу выполнение их тестового
Victor
Хорошее тестовое.
Danila
немного обновилось тестовое aviasales. Добавили серверную часть. Но я не понимаю какой от неё толк, если фильтровать билеты по прежнему предполагается на стороне клиента. Может я что-то непонял ? https://github.com/KosyanMedia/test-tasks/tree/master/aviasales_frontend
. Также у нас есть небольшой сервер для тестового задания, который работает схоже с нашим основным backend движком и реализует технику long polling для передачи пачек билетов
Danila
Написано же всё
Anonymous
. Также у нас есть небольшой сервер для тестового задания, который работает схоже с нашим основным backend движком и реализует технику long polling для передачи пачек билетов
и что это значит ? ) "Поиск считается завершенным, когда в очередном ответе от сервера придёт значение {stop: true}" Для чего это ? При этом они просят выводить только первые 5 билетов. Не понимаю.
Anonymous
Ну а где еще я могу блин спросить ? )
Evghenii
Если не понимаешь, то сформулируй список вопросов и скинь им. Это тебе только в плюс пойдет.
Anonymous
Если не понимаешь, то сформулируй список вопросов и скинь им. Это тебе только в плюс пойдет.
Скинуть им куда ? я же не буду ишью для этого создавать )) Если предполагается что билеты подгружаются через infinity scroll, то какой смысл фильтровать их на клиенте, если следующая пачка билетов придет без учёта клиентского фильтра. Кто может объяснить суть ? )
Victor
все пришедшие данные проходят через фильтр на клиенте.
Danila
Там. Же. Всё. Написано.
Victor
Зайди на реальный сайт и посмотри как там все работает.
Evghenii
Тут я согласен, что идея дурацкая фильтровать на клиенте. При выполнении тестового обычно есть контактное лицо, кому можно вопросы задать. У них как-то иначе?
Victor
Тут я согласен, что идея дурацкая фильтровать на клиенте. При выполнении тестового обычно есть контактное лицо, кому можно вопросы задать. У них как-то иначе?
хорошая идея - это поиск билетов, а не выборка из местной БД. Тут сотни поставщиков, у каждого свое время ответа. Эффективнее запросить более широкий диапазон и фильтровать уже на местности.
Anonymous
хорошая идея - это поиск билетов, а не выборка из местной БД. Тут сотни поставщиков, у каждого свое время ответа. Эффективнее запросить более широкий диапазон и фильтровать уже на местности.
но на реальном сайте кнопка [ загрузить еще ] если не уходит запроса с фильтрами, подгрузится пачка не фильтрованных билетов. И смысл ? фильтровать каждую пачку отдельно и мержить их ?
Evghenii
хорошая идея - это поиск билетов, а не выборка из местной БД. Тут сотни поставщиков, у каждого свое время ответа. Эффективнее запросить более широкий диапазон и фильтровать уже на местности.
Смотри: ты проскроллил вниз, фильтр применен, запрашивается новая пачка билетов, фильтр аплаится и часть билетов оказывается где-то наверху, в уже проскроленном датасете.
Victor
но на реальном сайте кнопка [ загрузить еще ] если не уходит запроса с фильтрами, подгрузится пачка не фильтрованных билетов. И смысл ? фильтровать каждую пачку отдельно и мержить их ?
смысл в том, что если ты будешь пересылать новый запрос с актуальным фильтром, то пользователь уйдет - он не будет столько ждать. Потому что поиск билетов - это долго. Поэтому запрашивают почти _все_ данные и показывают только те, которые подходят под фильтр в UI. Такой стандарт в этой области, просто смирись
Evghenii
Они при каждом запросе на бек не будут бродить по всем существующим сайтам с новыми параметрами
Evghenii
Там данные агрегируются по интервалу, со всех ресурсов
Evghenii
А потом поиск идет по своей базе
Victor
Там данные агрегируются по интервалу, со всех ресурсов
правда для популярных маршрутов и ближайших дат. И то - за ценой приходится обращаться к поставщику
Andrey
видимо просто было влом сокеты прикрутить, поэтому закостылили лонг поллинг с {stop: true} 🤷🏻‍♂️
Сергей
пацыки, а useMemo можно использовать в классовых компонентах? а то у меня ошибка вылетает
Сергей
мля
Сергей
а как тогда можно замемоизировать?
Danila
Где ты там его используешь, даже интересно
Сергей
в рендере, options для селекта
Sm•ok
Нельзя
Shouldcomponebt update за него?
Sm•ok
Эм, нет.
А стоп
Sm•ok
Спутал с memo
Danila
в рендере, options для селекта
Вытащи в ФК да заюзай там
Sm•ok
Эм, нет.
В классах за них может служить this?
Danila
В классах за них может служить this?
За кого? Что происходит?
Sm•ok
Usememo
Alex
Хай, кто нибудь сталкивался с тем что jest не видит модуль который импортнут через * ? import * as compose from 'lodash.flowright' и в компоненте потом compose is not a function
Danila
useMemo - это хук для мемоизации вычислений, короткая запись для стейта+эффекта, устанавливающего стейт, фактически