Bogdan
у тебя jsx , ты не импортировал реакт
Oleg
ой блин понял
Bogdan
у реакта нету ф-и реакт, вынеси его из скобокъ
Oruj
а как можно в деструктуризации типа такого? дать значение 1 если changedCount === undefined
Yury
count = changedCount === ‘undefined’ ? 1 : ‘something else’ ты про такое?
Vlad
Демотивация
Oruj
count = changedCount === ‘undefined’ ? 1 : ‘something else’ ты про такое?
да типа тернарки. но кажется есть какой то более лаконичный способ со скобками и ||
Oruj
changedCount || 1
лол кажется да
Виктор
эта штука если что и нули и фолсы жрет
Yury
changedCount || 1
он спрашивал про undefined, а тут прокатит и null и false и 0
Виктор
напиши через тернарку с ===
Denis
а как можно в деструктуризации типа такого? дать значение 1 если changedCount === undefined
зачем ты значения переменных по умолчанию делаешь такими же, какими они будут после деструктуризации?
Denis
я запутался👍
так глянь в документацию, там изи все
Mikhail
в которую?😂
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment https://learn.javascript.ru/destructuring-assignment
Denis
в которую?😂
https://learn.javascript.ru/destructuring-assignment
Oruj
https://learn.javascript.ru/destructuring-assignment
братик эти базы знаю
Kurzdor
братик эти базы знаю
Тогда зачем ты говно набрасываешь на вентилятор?
Kurzdor
changedCount можно вынести и в другой переменной, а так это сложно читаемый код, неудобный
Bogdan
братик эти базы знаю
настолько тупые вопросы, что просто жесть
Ilia
Ребят,как id последнего елемента state найти?Я вот так написал,но мне не нравится .
Ilia
state = { list: [ {title: item1, foo: false, id: 1}, {title: item2, foo: false, id: 2}, {title: item3, foo: false, id: 3}, ] }; lastId = [...this.state.list][[...this.state.list].length - 1].id;
Denis
братик эти базы знаю
не похоже. если тебя интересует именно тернарный опреатор, то проще вынеси эту переменную отдельно выше, или напиши функцию с if которая будет возвращать нужное
Ilia
Reverse + first?
А по времени,это не сильно долго будет занимать?Самый оптимальный вариант?
Yury
state = { list: [ {title: item1, foo: false, id: 1}, {title: item2, foo: false, id: 2}, {title: item3, foo: false, id: 3}, ] }; lastId = [...this.state.list][[...this.state.list].length - 1].id;
1) зачем тебе … здесь 2) лучше функцию отдельно: на вход список - на выходе id у тебя
Kurzdor
state = { list: [ {title: item1, foo: false, id: 1}, {title: item2, foo: false, id: 2}, {title: item3, foo: false, id: 3}, ] }; lastId = [...this.state.list][[...this.state.list].length - 1].id;
Ты лучше в жс нубс зашел с этим вопросом, а так, this.state.list[this.state.list.length - 1].id
Kurzdor
Можно впринципе this.state.list в list забросить Ну, в отдельную переменную
Дмитрий
Подскажите как осуществить. Есть кнопка, которая должна появляться только тогда, когда экран будет меньше 768 пикселей. Добавил вычисление ширины экрана в компоненту, вывел в консоль. Логично, что при изменении экрана в консоль выводит только после того, как щелкну на какую-нибудь другую кнопку, то есть когда дерево перерисуется. А мне нужен этот параметр в реальном времени. Натолкните на мысль)
Sm•ok
Или даже отрисовывать не надо
Дмитрий
Как осуществить?
Sm•ok
Повесь листенер
Yury
Как осуществить?
useEffect(() => { window.onresize = function(event) { }; }, [])
Yury
media-запросы
неужели может быть такое, что человек ушел в Реакт и не будет знать что это такое? 😳
Дмитрий
неужели может быть такое, что человек ушел в Реакт и не будет знать что это такое? 😳
Медиа я знаю ) не работает так как я хочу) все выводит, но надо заново на что-нибудь кликать, чтобы он посчитал ширину)
Bogdan
Медиа я знаю ) не работает так как я хочу) все выводит, но надо заново на что-нибудь кликать, чтобы он посчитал ширину)
можно хуком const useResize = () => { const [currentWidth, setCurrentWidth] = React.useState(null); React.useEffect(() => { const handleResizeWindow = () => setCurrentWidth(window.innerWidth); window.addEventListener("resize", handleResizeWindow); return () => { window.removeEventListener("resize", handleResizeWindow); }; }, [currentWidth]); return [currentWidth]; };
Kurzdor
В том что даже когда анманунтится компонент, все ровно будет запускатся коллбэк с ресайз функции
Yury
у человека классовый компонент оказался)
Roman
Медиа я знаю ) не работает так как я хочу) все выводит, но надо заново на что-нибудь кликать, чтобы он посчитал ширину)
неправильно значит написал вот пример https://github.com/jaredpalmer/the-platform/blob/master/src/useMedia.tsx
Bogdan
у человека классовый компонент оказался)
ну пусть в жц делает тоже самое что и тут
no
И если спрашивает значит не знает
Дмитрий
Спасибо большое !
Bogdan
Плохой хук.
хороший хук
Андрей
хороший хук
Чувак не понимает как работает resize. Его хук лагать будет.
Daniil
Хороший хук - это тот, после которого ты уйдёшь в нокаут
Bogdan
Чувак не понимает как работает resize. Его хук лагать будет.
сколько использовал, никогда не лагал, сделай лучше
Bogdan
Я добавлю raf
сделай пример рабочий
Андрей
сделай пример рабочий
Лень в репу лезть за кодом. Суть в том, что у тебя при ресайзе в течении одного кадра будет просто доххулиард событий сгенерировано. Это чуток неэффективно и будет лагать вне твоего топового компа.
Bogdan
Я добавлю raf
а как поможет raf?
Андрей
а как поможет raf?
С его помощью ты будешь генерировать только 1 событие в кадр, а не 100500.
Сергей
может кто видел\делал подобный хук? поделитесь, если не жалко