Eduard
как вы последние темы осилили? 9. Формы 10. Подъём состояния 11. Композиция против наследования
artalar
ну, и я про что
Так ты тест посмотри, он там падает потому что референс на эффектор, а мобык делаешь меньше апдейтов и toBe не сходится
Дима
тогда это отстойный тест
artalar
тогда это отстойный тест
Не знал как лучше написать
Дима
Не знал как лучше написать
так чтобы он был полезен, а не самодостаточен
artalar
тогда это отстойный тест
В техническом плане мобыкс проигрывает только бандлсайзом и es5
Дима
некоторые вещи требуют усилий, блин
artalar
а в чем выигрывает?
Кода меньше, вывод типов, наверное, лучше (не проверял), ленивость по умолчанию -> нет проблем с утечками и может быть лучше по перформансу (нужно конкретные кейсы разбирать)
Дима
не проверял, но утверждаю
Дима
😕
artalar
"наверное" - не утверждаю
Дима
лучше никак, чем так
Anonymous
Prepare
Tor
Хотел написать, что у эффектора меньше популярность, в отличие от конкурентов, и он новичок, по сравнению с ними, и это, меня в том числе, чуть смущало чтобы брать его в прод, но тут внезапно увидел, что там 1к+ звёздочек уже…
Дима
Так ты тест посмотри, он там падает потому что референс на эффектор, а мобык делаешь меньше апдейтов и toBe не сходится
я вспомнил, твой тест принципиально некорректный, потому что ты считаешь initial вызовы в числе прочих
Eduard
ребят, задайте мне какой-то вопро по теме из реакта по Композиция против наследования
artalar
это ложь
Можешь конкретнее сказать?
Abdubek
artalar
я вспомнил, твой тест принципиально некорректный, потому что ты считаешь initial вызовы в числе прочих
Вообще не оченб понимаю о чем ты. В плане инициализации у всех все одинаково
artalar
и?
Дима
и?
откуда у тебя 1 сразу после инициализации?
artalar
это ложь
Приводи конкретные примеры где не правильно
Дима
не отнекивайся, если я привёл их
Andrey
шо вы сретесь 😕
artalar
откуда у тебя 1 сразу после инициализации?
А откуда его там может не быть?
Дима
шо вы сретесь 😕
да он задолбал, я из-за этого и ливнул из jentelmans чата, потому что надоело нервничать из-за того, что заведомо косячно, потому что автору лень доводить затеи до конца
Denis
Всем привет! Можете посоветовать какие-то ресурсы по React + Websocket?
Дима
он теперь ещё и сюда это приволок!
artalar
А откуда его там может не быть?
Ну у мобыкса может не быть, т.к. он ленивый. Но я в принципе пока претензию не понял
artalar
да он задолбал, я из-за этого и ливнул из jentelmans чата, потому что надоело нервничать из-за того, что заведомо косячно, потому что автору лень доводить затеи до конца
А может быть нужно приводить конскрутивные примеры что нужно поправить, а не считать априори человека злобным лентяем?
King
Ребят, кто хранит состояние запросов в сторах ( pending, success, etc.), зачем вы это делаете? Какой профит от этого вместо хранения в стейтах?
King
Чуть-чуть в стор, чуть-чуть в стейт, а лучше в разный?)
Просто зачем засорять стор? Это же временные переменные, которые становятся неактуальны по завершению запроса
Юрий
Просто зачем засорять стор? Это же временные переменные, которые становятся неактуальны по завершению запроса
Действительно, зачем блокировать конкурентные запросы к одному ресурсу, пускай 100500 раз одно и тоже тянется, интернета же много :) Это только один пример
Anonymous
а как мне сделать так, что бы два елемента в CSS Grid скроллились отдельно друг от друга
Anonymous
CSS для контейнера: display: grid; grid-template-columns: 1fr 1fr; height: 100vh;
Дима
Ну у мобыкса может не быть, т.к. он ленивый. Но я в принципе пока претензию не понял
последний раз я ищу проблемы за тебя, я серьёзно https://codesandbox.io/s/effector-comparison-wjr0d
artalar
Ну и еще перечень косяков
Вспомнил еще: мутабельная модель не так дружелюбна к дебагу как иммутабельная
wolfe
Или у вас они шлются с разных мест?
здесь дело даже, скорее, не в этом. компонент может инициировать загрузку, но не знать о том, когда она завершилась и завершилась ли успешно в принципе (это надо отражать в UI)
wolfe
Не понимаю, можно же флажки в стейте компонента хранить, и отображать состояние запроса на UI
загрузку инициирует action. там можно считать promise, но зачем? а если это нужно будет использовать в нескольких компонентах?
King
Да и через экшны сложнее получается, нужно пробрасывать диспатч, импортить экшн, и до этого апи подвязать к экшну
Юрий
Или у вас они шлются с разных мест?
В любом более менее крупном проекте есть куча виджетов, индикаторов и т п . Которые асинхронно работают.
King
В любом более менее крупном проекте есть куча виджетов, индикаторов и т п . Которые асинхронно работают.
Все равно не понял, у меня много асинхронных запросов, давайте я покажу как это у меня сделано
Юрий
У вас 100500 виджетов, которые используют данные с сервера для показа чего то. Часть из них использует одни и те же данные
Юрий
Это понятно?
Юрий
Далее, если вы при запросе не поставите флаг "данные уже загружаются" и не застопорите аналогичные запросы то у вас будет 100500 запрос к одним и тем же данным на сервере.
Rassul
С чем сам сталкивался: несколько компонентов юзают одни и те же данные и экшны + если запрос все еще выполняется, не выполнять заново запрос + везде где надо показать что данные подгружаются. если вдруг компонент умрет, стейт соответсвенно тоже, кейсы могут быть разные но в некоторых может быть необходимым, чтобы где то сохранялось инфа о том, что запрос уже отправлялся
King
Это понятно?
Ааа, да, теперь ясно о чем вы, несколько ui компонентов реагирует на один и тот же запрос?
artalar
последний раз я ищу проблемы за тебя, я серьёзно https://codesandbox.io/s/effector-comparison-wjr0d
Эм, в data-driven приложениях requestState == любому апдейту. Или ты предлагаешь только по rAF работать? Я не очень понял. Ну и ты убрал проверки остальных редусеров, при этом если бы ты их вернул и повторил requestState для мобыкса, то оказалось бы что он не делает лишнюю работу, а эффектор делает. Я не понимаю что ты хочешь доказать, эффектор не всемогущ, но это не значит что он плохой - я в приведенном тесте наоборот всеми силами пытаюсь показать его достоинства
artalar
Далее, если вы при запросе не поставите флаг "данные уже загружаются" и не застопорите аналогичные запросы то у вас будет 100500 запрос к одним и тем же данным на сервере.
Не весь тред читал, но зачем флаг, почему бы это на "транспортном" уровне приложения (прикладном) решать? В смысле сделать просто конкурентные запросы с кешем параметров: если выполняется запрос и поступает новый с такими же параметрами - просто возвращаем уже исполняемый запрос (промис)
Anonymous
эмм
Anonymous
кто нибудь может помочь с моим вопросом?
King
А где ты обрабатываешь то что приходит на запрос?
const { pending, success, fail, data, sendRequest } = useApi(loginApi); sendRequest({ id: 1 }); // pending: true // success: false // fail: false // data: null // after some time // pending: false // success: true // fail: false // data: { name: "Tauka" }
artalar
ну например нужно показать Spinner покагрузится, если ошибкато показать соотв. знак в виджете. Транспортный уровень не для бизнес логики вообщето. Если у вас все в кучу, то мое вам сочувствие
Спинер и т.п. - это да. Но именно вопрос перезапроса данных я бы в сторе не разруливал - это техническая особенность асинхронной жизни приложения и, как раз, ни разу не БЛ
🐉‍
Всем привет! Делаю SSR с использованием React и CSS Modules. Есть приложение: import styles from "./MyModule.module.scss"; ... <div className={styles.colorRed}>Test</div> ... Сейчас, из-за того что className={null}, метод renderToStaticMarkup из react-dom/server возвращает: <div>Test</div> Как заставить метод renderToStaticMarkup работать с CSS Modules?
artalar
что такое "транспортный уровень" приложения? посоветуете где почитать?
Да это я своими словами больше. Та доменная часть, которая за общение с беком отвечает