Vlad
MVD
если юзать minicssextractplugin с опцией hmr, то style-loader. можно смело выпилить?
BADbonus
Всем доброго вечера, встретил непонятную мне проблемку с array.reduce.
У меня есть массив с объектами, объект: имя, возраст.
Хочу протись по объектам массива и выцепить в отдельную переменную все имена.
Но при завершении обхода, переменная с именами всегда начинается с [object object] + (имена-1)
https://codesandbox.io/embed/naughty-buck-mkt0t
Я могу реализовать и через 'for', но разве reduce не предназначен для таких операций?
Можете подсказать, где я накосячил в reduce?
rovnyart
rovnyart
2. const names = array.reduce((result, { name }) => name), [])
BADbonus
BADbonus
Разве?
BADbonus
инфа с jslearn
rovnyart
я не знаю по какому языку ты смотришь эту справку
Sergey
Прочитай ещё раз, у редьюс а не коллбэк функции
Dmitriy
rovnyart
BADbonus
ага, понял, спасибо
rovnyart
ой конечно я неправильно написал, сорри) уже башка совсем не варит) тут тебе даже не нужен редьюс, можно смаппить: const names = array.map(({ name }) => name)
rovnyart
а если редьюс прям нужен, то const names = array.reduce((result, {name}) => { result.push(name); return result; }, [])
rovnyart
а если в результате нужен не массив, а строка, то тогда const names = array.reduce((result, {name}) => result += name, '')
Victor
Victor
https://codesandbox.io/s/still-night-7ie0z
Anonymous
ЧЯДНТ
уже час не могу понять, в чем может быть проблема, может у вас есть идеи?
trottle из lodash
Maksim
Anonymous
...
Anonymous
спасибо))
Constantine️
Andrii
какая последовательность запросов в websocket на клиенте???
Andrii
крч у меня идет Status Code: 101 Switching Protocols и все
Andrii
никаких попыток переподключения или чего-то типа того
El
Ребят, может кто-то встречался с подобной проблемой в Реакте, допустим у меня есть компонент, который выводится как список:
arr.map(x => <Action onSelect={onSelect} />); И если я вызываю onSelect из компонента, он вызывает эту функцию для всех, а допустим, айтемов в массиве 5000, это создает задержку, как это решается? Такая же проблема существует, если я допустим хочу показать модальное окно, и понятное дело при клике у меня есть триггер, но он начинает показывать столько окон, сколько записей в массиве.
Спасибо
если твой компонент это input какой то, то у input должен быть уникальный name attribute
amzp
Посоветуйте книгу react + redux
Anonymous
Anonymous
открой посмотри)
Ivan
Подскажите, прочитал про PureComponent, вроде бы понятны все его преимущества, но тогда не понимаю, зачем нужно использовать обычный компонент, если чистый работает быстрее?
Anonymous
там react, flux,redux,graphql,relay,react native,propTypes
Anonymous
Дима
Anonymous
Дима
абстрактные мемы пошли
Anonymous
Ага
Николай
Насколько хорошо нужно знать react чтобы без проблем найти работу?
Николай
И как проверить свои навыки
Nikolai
Anonymous
Николай
Oleg
Николай
А я думал что я почти нихера не знаю)
Дима
Николай
ага
Ну может он просто был другом этого чувака)
Дима
ты не поверишь, они оба сейчас реакт и пилят
Дима
Николай
печально
yaroslav
Друзья привет,подскажите как сделать роутинг из js файла?
Aleksei
🅅aleriy
🅅aleriy
тебе принципиально никто не ответит, пока ты не научишься правильно формулировать вопросы :)
Cenator 🐈
Кто нибудь в react-table боролся с тем, что данные не мемоизируются и дом-элемент постоянно обновляется? Обнаружил что плагин в хроме теряет ссылку на элемент, и нужная мне команда не отрабатывает.
Rauf
А что такое reacttooltip? просвети меня простого смертного
Tutu
Есть такой код:
Tutu
const [open, setOpen] = React.useState([false,false,false]);
const handleClick = value => e => {
open[value] = !open[value];
setOpen(open);
}
Tutu
вопрос. Почему setOpen() с новым стейтом не вызывает рендер
Dartess
вопрос. Почему setOpen() с новым стейтом не вызывает рендер
Потому что рендер вызывается не просто вызовом setOpen, а изменением значения open при этом. В данном случае массив остается тем же массивом, рендер при этом не происходит. Можно поменять на setOpen([...open]), чтобы был рендер
Tutu
Тоесть он не делает глубокое сравнение жаль
Tutu
А может есть принудительный рендер типо forceUpdate?
Dartess
Вроде нет. При большом желании можно сделать костыль на том же setState с булеаном и изменением состояния туда сюда. И даже завернуть это в пользовательский хук. Но это даже звучит как костыль :)
Tutu
Ну да)
Sm•ok
Sm•ok
зачем это делать интересно ?)
Sm•ok
Заменить стейт на себя самого же ?
Dartess
В коде выше сначала мутируется open, а затем передаётся в setOpen
Sm•ok
Решение без мутации не катит ?
Sergey
Sm•ok
setOpen({...open, value: !open.value})
Sm•ok
так
Sm•ok
ну или ключи там сам поменяй
Tutu
ок попробую
Sergey
Sm•ok