Evghenii
как лучше всего хранить большие массивы данных на фронте? стоит задача с внешнего api получить до 10к объектов.
Evghenii
На сервер или пользователю?
пользователю, на фронте
Evghenii
обычный массив тут не подойдет, ищу варианты
TheHesoyam
пользователю, на фронте
У вас понимание работы бэка есть? Попробуйте лейзи лоуд использовать и json файл
Daniil
гайс, испольузю formik, произошла ошибка при фете в Submit, надо поверх формы сказать, чтобы "ребята у нас проблемы", каким способом это возможно сделать?
Daniil
actions.setError работают только определённому полю, а проблема не поля, а формы в целом
Павел
Приветствую, подскажите как в замоканом импорте функции вернуть не массив, а immutable List
TheHesoyam
внешний api, не бекенд, предполагается делать с ll
Я ничего не понял но звучит здорово
artalar
Не подойдёт?
Evghenii
Я ничего не понял но звучит здорово
3rd party api, сторонний сервис, бекенда-прокладки не будет
Evghenii
Не подойдёт?
До 150кб данных, обычный массив не сжимает ничего, будет тяжело
Oleg
150кб для первой загрузки
а для второй? как вообще нумерация загрузок влияет?
🦜
а для второй? как вообще нумерация загрузок влияет?
первая загрузка, это то, что пользователь видит первым. Это должно максимально быстро скачаться и отрендериться, потом можно лейзилаод прикручивать
Oleg
как пользоваться bundlephobia.com? если у пакета 100% self - это хорошо (ведь лишние зависимости не подтягиваются) или плохо (может, чем больше одинаковых пакетов, тем меньше грузит в итоге)?
Evghenii
а для второй? как вообще нумерация загрузок влияет?
Одна порция около 15-20кб, то что будет рендерится первым, потом лейзи лоадом дальше докачивается, но это все надо складировать на фронте. Отсюда и вопрос: чем лучше, у кого был опыт?
Victor
Ни кто не помнит, пару месяцев назад выходила библиотека для i18n там была поддержка JS, и еще кажется C++/JAVA еще на сайте был online IDE дляпостроения сложных фраз ссылку потерял
artalar
До 150кб данных, обычный массив не сжимает ничего, будет тяжело
Что куда сжимает и зачем? Почему тяжело? Вы тестировали?
Victor
https://projectfluent.org/
о, точно, спасибо)
Anonymous
I need am expert to solve that
Anonymous
Pm me if you can
Cenator 🐈
thedevs.network
i
подскажите плз, если передавать в компонент объект. то при обновлении
i
пардон, перефрзариую, если этот объект не изменится, то будет перерендер?
i
то бишь реакт смотрит на содержимое объекта(изменились ли его свойства)
🦜
то бишь реакт смотрит на содержимое объекта(изменились ли его свойства)
Реакт делает только поверхностную проверку, если в объекте глубокая вложеность, то ререндер будет всегда
i
спасибо
i
ну, думаю, в случае компонент-юзер(блок юзера) в любом случае лучше передавать сам объект юзера, а не делить на свойства компонента его свойства
i
пусть и кадый раз будет перерендер
Dmitriy
Советую почитать документацию про функцию shouldComponentUpdate, так же есть много вопросов на stack overflow по этому поводу
Alexander
Нужен совет. Использую react-dnd и Vega. Vega-chart находится внутри draggable контейнера. Могу перетащить за контейнер, но за чарт не получается. Как сделать vega чарт draggable? Имеется ввиду, чтобы за него можно было тащить тот же контейнер, не отдельный. Код здесь: https://codesandbox.io/s/amazing-zhukovsky-cr7ws
Dmitriy
Вы можете сами прописать в каком случае должно быть обновление а каком нет что бы избавиться от лишних рендеров
i
ну юзер, можно, конечно, прописать в shouldComponentUpdate фориач и сравнивать прям каждое свойство
i
но это разве норм практика?
cmd.exe
подскажите почему в указанной строке values могут иметь начальное состояние? Порядок вызова методов указал и проверял его дебагом.
Alexey
да для этого есть reselect для redux
i
у меня просто дочерние компоненты через map формируются, и вроде как ведь это в любом случае перерендер всех элементов массива
i
даже если по факту ток в одном изменение
Alexey
если большой список/таблица, можно юзать что-нибудь типа react-window
i
ну, допустим, их всегда 100, их всегда надо показывапть, но хочется чтоб при изменении конкретного элемента ток он обновлсля в списке, а не так, чтоб весь список с нуля пересоздавался и рендерился
Alexey
сделайте их умными
Dmitriy
но это разве норм практика?
Это нармально если не хотите приложение перегружать и рендерить постоянно, опять же таки смотрите как вам удобно,если сравнение берет слишком много времени то увеличеваеться отклик приложения и тогда возможно лучше уже рендерить
i
да, сделать умными дл локальных изменений и перемедвать метод родителя в случае удаления ребёнка
i
метод родителя для удаления ребёнка по клику кнопки ребёнка*
i
то бишь перерендер списка будет ток в случае удаления
i
ну, других ведь вариантов нет?
Alexey
насколько сложные элементы? возможно, перерисовывать будет проще и очевиднее не нужно делать преждевременных оптимизаций, если оно не тормозит
i
хотя не, ну если делать компонент user умным, то это получается что при рендере он будет брать из пропса объект юзер, а при нажатии на какую-нить кнопку статуса брать из хранилища уже(не меняя там)
i
не, не сложные, просто хочу сразу сделать нормально, чтоб потом не переделывать
i
и пока типа неясно, что дальше в приложении нужно буде делать, фигачим в режиме аджайл
i
ну, нарно лучше пока не запариватся
i
спс
Alexey
это нормально реакт в реальном доме поменяет то, что надо виртуальный работает быстро и так
i
ну да, в принципе где ж такое видано. чтоб за раз грузилось более 100 элементов какого-либо списка на страничке
i
а-а-а... вконтаке, когд вниз ленту листаешь... щас же модные эти все листалки бесконечности
i
хотя вряд ли можно найти извращенца, у которого хватит терпения пролистать до самого низу
Alexey
виртуальный скрол отрендерит то, что видно во вьюпорте помещается 3,5 элемента - 4 штуки отрендерятся а так их там хоть миллион пусть будет
Alexey
ну и для интереса можно погуглить intersectionobserver api
Daniil
Дока реакта на русском актуальна или лучше оригинал читать?
Daniil
Понял вас :)
Sergey
Здравствуйте. Можно как-то заставить React реагировать на изменение глобальных переменных типа window.myGlobal? Что-то не нагуглил ничего дельного
Sergey
Можно, но не нужно
Мне нужно. Часть legacy кода написанного на jquery, мне нужно, чтобы React реагировал на изменение свойств внешнего объекта