rovnyart
va1
Lena
https://codesandbox.io/s/github/malinovaelena/avito-beta
Lena
cards-container
Lena
components
va1
Filter создаёт новый фильтрованный массив из того, к которому применялся. В стейте остаётся тот-же самый
va1
Сходу не нашёл, есть ли сетстейт для отфильтрованного массива
Lena
нету для отфильрованного
Lena
получается, что в фильтре надо отфильтровать входящий массив а потом записать его в стейт?
va1
Да
va1
Отфильтрованный массив это уже новый массив
va1
Старый не мутируется
va1
Хотя я думаю есть способы получше, сам ток учусь
rovnyart
классное расследование, еще дружеский совет - не использовать let { foo, bar } = props - смысла абсолютно никакого нет
rovnyart
let - это почти всегда хуйня)
El
Lena
спс! буду пробовать
El
ну все от кейса зависит, бывает и на фронте надо, но фильтрация это результат обработки данных, которые например уже лежат в каком то стейте...и потом это сохранять в тот же стейт немного странно
va1
va1
А в данном случае пропсы и стейт компонента неизменны, но мы должны как-то рендерить разные данные по клику, немного сложно
Lena
кароче перезаписывать стейт не получится, ну по крайнеф мере в том виде в котором щас .
Lena
Буду пробовать другое
Lena
я склоняюсь к тому, что изначально записать всю фильтрациюв стейты, ибо компонентов то немного и может попробовать взависимости от фильтра возвращать прост какой-нибудь из стейтов с правильным массивом?
Lena
я это сейчас уже не буду делать, голова совсем не варит , но как самый первый приходящщий на ум
va1
Вынести рендер карточек в отдельный компонент и отфильтрованный массив кидай как пропсы. Тогда будет ререндериться компонент каждый раз, как применяешь фильтр
Lena
+
va1
Либо геттер поможет в данном случае, инфа не 100%
Lena
я так думала сделать когда только файлы к приложению создавала, а потом пффф, я и так смогу зачем раздувать)) ага ....
va1
Но исходный массив нельзя мутировать
Lena
сначала с рендером попробую думаю
va1
Есть паттерн, презентационный компонент и компонент контейнер. В основном вся логика в контейнере (типо блока по бэм утрированно), а презики (элементы) рендерят пропсы.
va1
сначала с рендером попробую думаю
Ещё на ум пришло. В стейте держать showitemtypes : "", при изменении селекта вызывается метод onchange(e) который вызывает setstate showitemtypes : e.target.value (или датааттрибуты e.target), или че там у селектов. Тогда if else в filtrredcardscategory можно упростить до this.state.showitemtypes ? array.filter(it) => it.category === this.state.showitemtypes : array потом мапить результат этого метода, и уже потом рендерить. Так хоть при смене селекта будет стейт меняться компонента. Пустая строка в стейте = false => будет выводиться нетронуты массив, ток надо проработать случай, когда выбрано show all в селекте, или ченить такое (типо проверка, если выбрана опция - - - - -, то сбрасывать showitemtypes) Хз может поможет или то на то и выйдет)
Alexander
Есть листенер document.addEventListener("mousedown", handleClickOutside); Как в handleClickOutside проверить, что я не нажал на определенный элемент? Есть его ref
Alexander
Тупой. Сорян. Вопрос исчерпан
Nikita
подскажите как лучше реализовать такой компонент? Нужно чтобы на всех экранах он выглядел одинаково
Evgenii
Aidyno
Anonymous
🦜
Aidyno
🦜
🦜
И люди стали забывать как ещё можно делать роутинг
Stepan
Всем салют. Парни а кто знает что за массивы полдятся (скриншот) в реакт приложении? Я такой не созавал. Что это может быть?
Dmitriy
Oleg
были мысли его подучить из-за скорости.
Danila
Oleg
Danila
(а то и ниже)
Oleg
Danila
и как часто?
Да кто ж его знает. Звёзд и форков достаточно много. Я лично в пет-проектах использовал и на проде один раз при билде подменял реакт и реакт-дом на преакт, это был встраиваемый виджет
Danila
Danila
Но это было до хуков.
Oleg
а сейчас?
Danila
А сейчас они вроде допилили хуки и опять можно юзать, если x из беты вышел.
Oleg
кто "они"? преакт? в преакте есть хуки?
Danila
Но он ещё пока только в RC
Oleg
Danila
https://github.com/preactjs/preact/releases
Danila
Daniil
Проект на 200кб, интересно
Danila
Не всем и не всегда нужны мегабайтные проекты
Daniil
Если уж расуждать о пользователях в метро/трамвайчиках/деревне, то 200кб ну хз
Danila
Тебя никто не заствляет, но есть куча людей, которым TTI важнее гордости
Daniil
Я не спорю, мы тоже нашего монстра обмазывали как могли
Danila
Danila
100кб js !== 100кб статики
Daniil
Я это понимаю
Danila
Это не только загрузка, это ещё и парсинг и исполнение на слабом железе
Smaug
Господа, всем привет
Подскажите, пожалуйста, следующий момент:
использую draftjs, для эдитора текста, при добавлении каких-то стилей в текст (цвет/размер), исходная выходная HTML (конвертирую с помощью stateToHTML из draft-js-export-html)
Вопрос: как получить стили, заданные в эдиторе?
Спасибо
Danila
Телега тормозит адово второй день что-то
Daniil
Вроде говорили про слоу мод или шо то там пару дней назад, мол раз в 30с сообщение