Paul
Если что, эта операция изменяет count, а она у тебя как const объявлена
Oleg
https://eslint.org/docs/rules/no-plusplus
да, это ж для примера накидал побыстрому
Юра
Друзья, всем привет! Подскажите пожалуйста, IRL что находит более широкое применение - просто импорт @import './Product.css' или цсс модули? И если второе, то какой naming convention выбирать?
Oleg
Если что, эта операция изменяет count, а она у тебя как const объявлена
так изменяет count ф-ция setCount, которая вроде как сеттер стейта
Vadim
да, это ж для примера накидал побыстрому
и count можно изменить только с помощью setCount
Cenator 🐈
да, это ж для примера накидал побыстрому
Единственно правильный вариант в данном кейсе это setCount(c => c + 1)
Serega
посоветуйте что лучше юзать ant.design или react bootstrap ?
Cenator 🐈
не совсем понял.. (
Для установки стейта на основе предыдущего значения нельзя обращаться к текущему (так же как нельзя было в классах), только функция-апдейтер которая получает стейт
Mihail
так и есть же в образце
Нельзя изменять руками переменную состояния
Serega
оба фиговые, но ант хуже
а что более менее будет?
Vladimir
а что более менее будет?
мне нравится semantic ui. material ui хороший
Vladimir
blueprint еще ничего
Oleg
Для установки стейта на основе предыдущего значения нельзя обращаться к текущему (так же как нельзя было в классах), только функция-апдейтер которая получает стейт
https://codepen.io/artof/pen/MNWEMN а так? если я в отдельной константе провожу прибавление, а потом пытаюсь засетить? console.log('fired') - вызывается на каждый чих, при этом count вызывается один раз.
Cenator 🐈
Единственно правильный вариант в данном кейсе это setCount(c => c + 1)
Единственный это означает что по-другому нельзя
Oleg
можешь показать пример пожалуйста? не могу сообразить :(
Cenator 🐈
https://codepen.io/anon/pen/jgOYbM?editors=1010
Oleg
https://codepen.io/anon/pen/jgOYbM?editors=1010
огромнейшее спасибо! :)
Юра
А где можно аргументы за/против почитать?
Cenator 🐈
https://www.giftofspeed.com/avoid-using-css-import/
Юра
https://www.giftofspeed.com/avoid-using-css-import/
Фух, спасибо. Я на секунду задумался, что че-т туповатый вопрос, потому что ответ - в Гугле 😄
Юра
Стоп, там про цсс импорт, я немного не про то.
Юра
Мой вопрос был больше про "Импортировать css в js как объект или же просто stylesheet". Но видимо в любом случае крч как объект импортить, с помощью .module.css
Саша
Привет, кто работал с Material UI? Как при создании темы указать медиа стили для переменной, что бы она сама менялась в теме, а не руками в компоненте брекйпоинты ставить. Видел что в дефолтной теме у тулбара есть такая фича
Cenator 🐈
доп запросы
C http2 не важно
Oleg
Объекты сравниваются по ссылкам
и как мне его правильно скопировать?
Китикет
А где можно аргументы за/против почитать?
Еще такой момент, что в случае css импорта у тебя css файл, относящийся к данному модулю, импортируется вообще в другом месте снаружи
Юра
Все, понял, спасибо!
MⅨ
Кто в тс подскажите ответ
Andrii
подсказываем - ответ
Oleg
как понять, почему при смене пропа в mapStateToProps компонент не обновляется? использую memo, поставил дебагер в функции, до него даже не доходит
Oleg
или даже если компонент обновился... почему useEffect не тригерится, хотя его зависимость обновилась?
Eugene
возьми useDispatch, useSelectors из react-redux v7
Oleg
возьми useDispatch, useSelectors из react-redux v7
а react-redux сильно поменялся с 5 версии?
Ivan
Ребят как правильно избавиться от всплывающего клика в реакт? у меня есть такое поле условно <Row onClick={() => ...}> <Checkbox onClick={() => ...}> <Другие поля> <Другие поля> ... Когда я кликаю на чекбокс клик всплыает и триггерит клик на Row В коллбек который на чекбоксовском onClick вставил в самое начало e.stopPropagation(); e.nativeEvent.stopImmediatePropagation(); но чёт не помогает, как это правильно решать?
Ivan
чекбокс вложен в Row
Vladimir
странно, что e.stopPropagation(); не работает А Вы точно так пробовали? <Checkbox onClick={(e) => e.stopPropagation(); .....}>
Ivan
да странно) вечно с этой штукой у меня пляски с бубном сделал обертку над чекбоксом у которого onClick={(e) => e.stopPropagation();}
Ivan
заработало)
Ivan
перестал всплывать
Vladislaw
Можно ли как-то в componentDidMount закинуть данные из контекста? Получается только пропсами
A
Как исключить свойство передаваемое в функцию из объекта используя spread syntax? Например из объекта obj надо исключить свойство "c" const obj = { a: 1, b: 2, c: 3 } const myFunc = ({...obj}) => {}
Vladimir
const myFunc = ({c, ...obj}) => { } Может так?
A
Так и делаю что-то не получается. А если "c" это метод, то так же?
Anton
если есть лодэш, то лучше omit(obj, ['c'])
Anton
почему?
неиспользуемая переменная
Vladimir
и?
Anton
и лучше не писать код, в котором есть неиспользуемые переменные
Vladimir
ну, ок, человек спросил как исключить, и это исключает поле из объекта, напишите как тогда это сделать лучше и поянтней
Vladimir
вы предложили подход с лодаш, он прекрасен, спору нет, но скорее всего его не используют
A
У меня custom hook const username = useField('text') которое возвращает type, value, onChange и reset. Мне надо передать их в input используя spread syntax но надо исключить метод reset как мне это сделать?
Mihail
😅
A
Я спросил как исключить используя spread syntax
Vladimir
перед этим нужно склонировать этот объект в новую переменную иначе Вы удалить поле из исходного объекта
Георгий
Начал изучать redux. Это какой то отвал башки. Vuex проще и понятнее)))
Artem
Начал изучать redux. Это какой то отвал башки. Vuex проще и понятнее)))
Лучше посмотрите раздел с Хуками в оф доке реакта, редакс не нужен.
Георгий
Лучше посмотрите раздел с Хуками в оф доке реакта, редакс не нужен.
Просто если прийти в новую контору на существующий проект наверняка там редакс...
Vladimir
Я спросил как исключить используя spread syntax
const someParams = {a, b, c} const {c, ...rest} = someParams; const exludedC = rest someFunc(exludedC)