Andrei
Есть какой-то способ заставить useSelector дергать новые данные если только они изменились, а не весь стор? У меня есть экшен, который обновляет стор при наведении на элемент, внутри этого элемента используется стор через useSelector хук. Так вот, из-за того что стор обновляется, у меня все компоненты обновляет ссылку селектора и, следовательно, обновляется компонента, которая не работает с той property.использую я functional компоненты.?)
Andrei
const isClickDisabled = useSelector(state => state.zoomer.clickDisabled); const onMouseEnter = () => { dispatch(tooltipHoverEnterAction({type: 'section', el: el.current, props: props})); //el and props changed }; const onMouseLeave = () => { dispatch(tooltipHoverLeaveAction()); };
Andrei
вот он снипет. меняются el и props, использую clickDisabled
Artem
увидел у коллеги на проекте подобное использование стайледов. Говнокод?
Sm•ok
да
А что там такого? В зависимости от темы нужный цвет тянется
Smaug
))
Artem
не, я просто привык прокидывать данные с пропов на каждое св-во индивидуально, а из-за подобного стиля у меня даже плагин хайлайта ложится.
Anonymous
Задача: получить геолокацию и расшарить между компонентами. Вариант 1: создать реактовский компонент и положить в корень (root component), в нем разруливать логику, но сам стейт geolocation хранить я буду вне react. Вариант 2: создать просто файл geolocation.js и импортировать его в index.js Мне кажется второй вариант более логичным, но такого вариант лично нигде не видел.
Ivan
Геолокацию хранить в редакс и селекторами кидать в компоненты
Anonymous
Геолокацию хранить в редакс и селекторами кидать в компоненты
Вопрос не в этом был, где и как хранить данные, я уже решил и это будет не redux. Вопрос заключался в способе инициализации, реактовский компонент vs просто файл, который импортируется в idnex.js
Anonymous
не, там локальный стор эффектора + попытка вытащить данные из localStorage если юзер уже давал доступ геолокации раньше.
Kirill
Подскажите плз {data.innerValue1 !== undefined &&<IntegerOption .../>} {data.innerValue2 !== undefined &&<IntegerOption .../>} Вот такой кусок кода есть в рендере компонента. data попадает в этот компонент через props, внутри этого IntegerOption она меняется и передается родителю родителя. Таких IntegerOption на странице порядка 100. Проблема в том, что при любом изменении любой опции — ререндярятся все, что прям заметно на производительности. Как исправить?
Andrey
увидел у коллеги на проекте подобное использование стайледов. Говнокод?
ну в целом из темы получать значения - то норм но за хардкод пипикселей, рандомные значения (2.4), скриминг снейк кейс в переменных - можно и чут чут наругать
Andrey
Вопрос не в этом был, где и как хранить данные, я уже решил и это будет не redux. Вопрос заключался в способе инициализации, реактовский компонент vs просто файл, который импортируется в idnex.js
не надо тянуть БЛ в компоненты, лучше создать инстанс, и его шарить (а еще лучше этот инстанс обернуть в контейнер, из которого только высунуть наружу публичное апи, и его дергать)
Anonymous
бизнес логика)
ох) впервые вижу, чтоб так сокращали, понял 😄
Vadim
можно как то сделать чтобы в консоль не виводились варнинги из за href="#"?
Artem
ой мне это так не нравится наоборот: обычно пропы управляют группой цсс свойств
мне просто не нравится, что у меня хайлайт перестаёт работать на кодстайле как на скрин. Хз как чинить
Roman
хз может плагин обновить. что за ИДЕ?
Artem
вебшторм 19
Леонид
Ок, спасибо
Юля, привет
Леонид
а можно без мата?
Vlad
https://youtu.be/Zjniftjr0AM
Nikita
ребята не пойму в чем может быть проблема переменная a,b получают отступ для этого происходит рендер компонента в который передается колбек из главного компонента потом происходит удаление компонента
Nikita
почему-то обычная переменная работает как нужно, она складывает все значения
Nikita
почему предидущие значения затираются?
Nikita
а в случаи обычной переменной отрабатывают
Андрей
почему-то обычная переменная работает как нужно, она складывает все значения
Потому что ты не знаешь, что все setState асинхронны. Теперь знаешь. Используй версию с коллбеком.
Андрей
Зайди в доку по стейту, пожалуйста.
Nikita
я его опракидывают в компоненты от которых узнаю размер
Nikita
у меня getOffset это и есть колбек
Андрей
у меня getOffset это и есть колбек
Зайди в доку по стейту и прочитай как его использовать. Там даже раздел есть: как корректно использовать стейт. Сейчас ты его используешь некорректно.
Андрей
https://reactjs.org/docs/state-and-lifecycle.html#using-state-correctly
Oleh
Всем привет) Как удалить из стейта обьект Map с заранне известным ID используя библиотеку Immutable? Заранее благодарен) http://prntscr.com/p1ein1
Oleh
return state.remove([action.payload]); так не работает
Oleh
сижу туплю, немогу понять, что не так делаю)
Андрей
return state.remove([action.payload]); так не работает
state.filterNot(el => el.get('id') === id)
Oleh
Андрей спасибо) Сразу не нашел этого метода) Все работает)
Dima
ребята
Dima
внезапно, мне нужна ссылка на репу еффектора)
Dima
все нашел, всем спасибо
Dima
:D
S
всем привет, как в redux вызвать action который просто фетчит апи и возвращает результат без изменений стейта редакса? Чтобы я этот фетч мог вызвать через mapActions
S
Почему просто функцию не вызвать без привязки к редаксу?
зачем мне импортировать функцию , лучше пусть в mapActions будет
Андрей
зачем мне импортировать функцию , лучше пусть в mapActions будет
Ты понимаешь, что статическое связывание - это добро?
S
Ты понимаешь, что статическое связывание - это добро?
слушай, у меня есть вызов анимации которую нельзя привязать к стейту, мне нужно его глобально поместить, везде выполняется коннект, мне кажется лучше положить это в actions
Alexandr
Привет всем, подскажите пжлст. При билде названия функций в приложении меняются, как можно оставить их названия? или название одной функции
Alexandr
Спасибо
Александр
Привет всем, подскажите пжлст. При билде названия функций в приложении меняются, как можно оставить их названия? или название одной функции
Если используется terser для минификации, то там опцию mangle в false выставить, прямо в конфиге вебпака можно
Александр
Ну задача стояла как предотвратить изменение имён всех функций, а не просто получить ссылку на одну из них через window... ну ок
Kostya
Всем привет. Как бороться с поддеркой в IE 11 при использовании mobx 5 ?
arts
Всем привет. Как бороться с поддеркой в IE 11 при использовании mobx 5 ?
Бороться надо с теми, кто эту поддержку требует.
Vladimir
тогда уж с Мелкомягкими, которые включают ie11 в сборку w10
Артём
Бороться надо с теми, кто эту поддержку требует.
кто-то может с иксбокса в интернет заходит
arts
кто-то может с иксбокса в интернет заходит
А кто-то с холодильника. Но это ещё не повод поддерживать всякое говно.
Кирилл
А кто-то с холодильника. Но это ещё не повод поддерживать всякое говно.
А разве бизнес будет спрашивать надо или не надо?
arts
А разве бизнес будет спрашивать надо или не надо?
А бизнес никогда не спрашивает, до него надо доносить. Иногда бизнес прислушивается. Если б не прислушивался, мы бы все до сих пор ie6 поддерживали. А то и ie3.