redux?
Одна фигня, выбирай то что по вкусу
Да, меньше бойлерплейт кода.
Я юзаю redux активно, но бойлерплейта действительно много получается
А ты используешь act или toolkit?
Класс стора разрастается при большом количестве экшнов. Это не мешает читабельности?
Сейчас посмотрел на свой класс стора - мне не мешает.
Эффектор кайф, если есть возможность втянуть) Долго сопротивлялся, но евангелисты все же оказались правы))
effector
Да, императивный подход, никаких лишних файлов которые в дальнейшем будут засорять тебе проект, мутабельность и асинхронные функции из коробки, не нужны никакие лишние либы
до тех пор, пока сторы не начинают общаться друг с другом)
Декларативный подход в mobx, ты что то перепутал
Никто не заставляет это делать, построй правильную структуру чтобы такого не было 💁🏻♂
Да перепутал с императивным
mobx мутабелен, пострен на обычных обсерверах
есть стор с товарами {id, name}[] и стор с корзиной {id, count}[]. как построить правильную структуру, чтобы на странице корзины отображать {name, count}[] и не мержить сторы в компоненте?
Зачем разделять корзину и товарами если они оба связанны с продуктами? Но если даже так пусть корзина работает без товаров основываесь только на id а при рендере елементов компонент будет показывать продукт с id из корзины
> как построить правильную структуру, чтобы на странице корзины отображать {name, count}[] и НЕ МЕРЖИТЬ СТОРЫ в компоненте? хочу в тестах без реакта потрогать результирующий стор, в котором будут названия и количества
Так ты их не мержишь? Ты просто используешь id для вызова продукта из другого стор
ну ты отображаешь массив айдишников на массив имён. мержишь как это сделать вне компонента? чтобы логика не была приколочена гвоздями к реакту
и чтобы протестировать кейс “загрузили товары, выбрали товар, проверили в корзине имя товара” тебе нужно рендерить реакт-компоненты в тестах 👍🏿
Так ты сам предложил кривую структуру где корзина почему то отделена от продуктов, если ты так хочешь описывать тестами то собери корзину и продукты в один стор
так это разные фичи. продукты работают отдельно и независимо от корзины. они много чего другого умеют, кроме добавления в корзину
не почему-то, а потому что логика корзины — это, допустим, 599 строк кода. и логика продуктов — допустим, 463 строк кода. и общего между ними — только айдишники товаров. и имена, которые хранятся в сторе продуктов послезавтра эта же корзина, допустим, должна будет работать с другим стором других товаров
Вообще добавление продукта в корзину должно осуществляться через бэк, только в таком случае корзина будет работать в не зависимости от продуктов.
прототип пишем, без бэкенда пока
или мобыкс без бэкенда не будет работать?)
Мобкс это стейт менеджер а не бек с контроллером и даты баз
ну так примитивную задачу стейт-менеджмента решаем, зачем нам бэк? понятное дело, что в качестве сайд-эффекта нужно выбор в корзине синхронизировать с бэком или локалстораджем. не предлагаешь же ты на этом сайд-эффекте строить решение задачи?
Если твои данные хранятся в localStorage пусть оба стора работают с localStorage??
так стоп, я что то пропустил? с каких пор mobx стал декларативным?
нет никакого локалстораджа. и бка нет
то есть императивщину ты как плюс выставил?
Нет никакого языка среды, ничего нет есть только мобкс давай решай задачу?
чего ты в залупу лезешь? есть задача — на фронте сделать список товаров и корзину. сделать на фронте, сделать абстрактно — чтобы потом можно было прикрутить или к локалстораджу, или к бэкенду, или к файербэйзу. задача такая, тимлид так сказал. интеграцию с хранилищем (бэкендом или локалстораджем, ещё не решили) напишет другой разработчик. или не напишет. собрал тебе пример из огрызков старого кода, держи есть стор с товарами, у каждого товара есть цена. цена меняется в реальном времени (для примера сейчас она растёт в полтора раза каждые 10 секунд. но может ведь меняться по сигналу с бэка, да?). есть стор с корзиной. добавил элементы в корзину, пошёл покупать. как показать пользователю сумму в корзине?
такое обычно через интерфейс и его реализацию проектируют (:
или херачат на вордпрессе за вечер и катят в прод
Пиши с localStorage а потом перейдешь на сервак в любом другом случае делать такое только со state manager - не логично
просто охуеть. нет слов
та чувак вообще не вдупляет о чем говорит а ты от него аргументов ждешь
дед выпей воды полегчает)
Ты примерчик-то потыкай. Если придумаешь, как это сделать с localSorage, вручу тебе медаль
Дед не переживай ты так
а если не придумает бан🌚
самое забавное, что я кучу кода написал, который реализует такое общение между сторами. и считаю его максимально уёбищным
Обсуждают сегодня