Volodya
Чёт не вдупляю
Vadim
ну суть та же
Тебе нужна иммутабельность
Vadim
Чёт не вдупляю
Если ты меняешь Map, то нужно создать сначала новый, скопировать из него значения старого и изменить новый
Volodya
Если ты меняешь Map, то нужно создать сначала новый, скопировать из него значения старого и изменить новый
writeCheckMap = (name, isChecked) => { this.setState((state) => { const checkMap = new Map(state.checkMap); checkMap.set(name, isChecked); return { checkMap: checkMap }; }); };
Volodya
написал так в итоге
Volodya
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Map#%D0%9A%D0%BB%D0%BE%D0%BD%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8_%D1%81%D0%BB%D1%8F%D0%BD%D0%B8%D0%B5_Map
Volodya
но меня смущает Следует помнить, что данные не клонируются
Volodya
Где это?
под примером сразу
Volodya
по ссылке, что я кинул
Vadim
под примером сразу
Имеется ввиду, что данные будут скопированы по ссылке
Vadim
То что нужно
Volodya
Ну супер, спасибо
Volodya
меняя переменную - меняешь стейт
Den
и что вместо этого использовать?
Alexandr
Заводишь переменную, меняешь в ней значение из стейта, пихаешь в сетстейт эту переменную
Den
Значит при деструктуризации мы получаем ссылку на объект? А для клона нужно еще переменную создать?
Den
Типа const clone = {...obj}; Так чтоли?
Den
Vadym
всем привет кто-то писал тесты для react-context ? возможно кто-то может поделиться ресурсом, где можно найти полезную инфу об этом?
Mendus
@pravosleva { b } = a
Den
@pravosleva { b } = a
Что это значит?
Vadim
например, что тестами надо покрывать другие вещи
Какие ты покрываешь?) снапшоты такое...
🦜
компоненты покрыть тестами дрочь, лучше e2e БЛ бить на юнит тесты
🦜
Enzyme?
cypress
🦜
и еще какая-то платная была
Vadym
и еще какая-то платная была
Как ты тестишь логику которая описана в Provider (методы, например) ?
🦜
методы должны быть чистыми функциями и никак иначе
Sergey
https://formidable.com/blog/2019/runpkg/
🦜
Да, конечно Спасибо
удачи фиксить баги с this
Vadym
удачи фиксить баги с this
Не использую this нигде Все на функциях
Vadym
Hooks
Vadym
Все дела)
Dmitriy
кто может пояснить разницу ? Производительность\другие факторы
Dmitriy
Dmitriy
🐏 Alexander
2k19, все еще не научился пользоваться чатами
Dmitry
кто может пояснить разницу ? Производительность\другие факторы
В первом Создаётся функция раз, а во втором на каждый рендер
🦜
научи
картинки не как файлы грузи
Eugene
тут тоже в итоге () => onChange(opt, opt, opt) ?
Dmitriy
Dmitriy
Eugene
ну второе читабельнее, имхо
🦜
ну второе читабельнее, имхо
чем? onChange функция не несет никакого смысла
Eugene
Параметров меньше передавать))0
Sergey
По мне оба варианта никакие
Eugene
Ну или описать логику в родителе, onChangeDistance 🤔
Dmitriy
По мне оба варианта никакие
что нужно улучшить?
Андрей
Тут написано что если не передавать обработчик то отслеживаться касание поля ввода не будет, на чекбоксах это сработало а на инпутах текстовый не сработало, по прожднему ловит касание первое..может ктото сталкивался с этим?
artalar
если будет время, буду премного благодарен )
Очень упрощенный пример https://codesandbox.io/s/k0q48ky013
artalar
Очень упрощенный пример https://codesandbox.io/s/k0q48ky013
Если это нормально задизайнить - оно будет и UX френдли и бандл сайз с производительностью не занимать
Андрей
Попробуй на английском прочесть. Там гораздо понятнее
Прочитал, не передавать handleBlur , не передал
Тимофей 🛴
Очень упрощенный пример https://codesandbox.io/s/k0q48ky013
спасибо, но я сильно сомневаюсь, что такой подход лучше, надо попробовать.
artalar
спасибо, но я сильно сомневаюсь, что такой подход лучше, надо попробовать.
Так он ничем не отличается, практически. Инпут маска что дает - разделение пробелами \ символами? Почему это разделение нельзя просто по другому задизайнить? И для этого не потребуется куча ЖСа..
Eugene
artalar
Ну упрощенный пример(
artalar
Нет, у меня нет готовой маски, сорян
Eugene
🌚а теперь давайте добавим код города/страны
artalar
Это должен быть отдельный блок перед инпутом
artalar
Ну и я бы не сказал что это необходимо в динамике. Лучше все делать статически, это нагляднее всего. Например перед инпутом поставить +7
Volodymyr
Всем привет, всем хорошего дня!
Андрей
Как понять не устанавливать поле для косания?
Юрий
ребят, прочитал, что сейчас не нужно делать div внутри которого label отдельно и input, так как в новом html 5, сейчас есть label внутри которого input. юзает кто то?
Юрий
так?
похоже, что да в доке вот так <label> <input type=checkbox> Mushroom </label>
Роман
Всем привет, есть ли какой-нибудь декларативный способ написать цикл, типа "for"?
Роман
он похож на фор? нет