MVD
если юзать minicssextractplugin с опцией hmr, то style-loader. можно смело выпилить?
BADbonus
Всем доброго вечера, встретил непонятную мне проблемку с array.reduce. У меня есть массив с объектами, объект: имя, возраст. Хочу протись по объектам массива и выцепить в отдельную переменную все имена. Но при завершении обхода, переменная с именами всегда начинается с [object object] + (имена-1) https://codesandbox.io/embed/naughty-buck-mkt0t Я могу реализовать и через 'for', но разве reduce не предназначен для таких операций? Можете подсказать, где я накосячил в reduce?
rovnyart
2. const names = array.reduce((result, { name }) => name), [])
BADbonus
BADbonus
Разве?
BADbonus
инфа с jslearn
rovnyart
я не знаю по какому языку ты смотришь эту справку
Sergey
Прочитай ещё раз, у редьюс а не коллбэк функции
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
https://codesandbox.io/s/still-night-7ie0z
Anonymous
ЧЯДНТ уже час не могу понять, в чем может быть проблема, может у вас есть идеи? trottle из lodash
Anonymous
...
Anonymous
спасибо))
Andrii
какая последовательность запросов в websocket на клиенте???
Andrii
крч у меня идет Status Code: 101 Switching Protocols и все
Andrii
никаких попыток переподключения или чего-то типа того
amzp
Посоветуйте книгу react + redux
Anonymous
открой посмотри)
Ivan
Подскажите, прочитал про PureComponent, вроде бы понятны все его преимущества, но тогда не понимаю, зачем нужно использовать обычный компонент, если чистый работает быстрее?
Anonymous
там react, flux,redux,graphql,relay,react native,propTypes
Ivan
https://medium.com/frontend-notes/purecomponent-%D0%B8-components-5c15cf206ba7
Читал, понял, что PureComponent это хорошо. Не понимаю, почему тогда его всегда не использовать?
Дима
абстрактные мемы пошли
Anonymous
Ага
Николай
Насколько хорошо нужно знать react чтобы без проблем найти работу?
Николай
И как проверить свои навыки
Nikolai
Николай
Нужно знать реакт хотя бы как Дэн Абрамов
https://techrocks.ru/2019/01/09/dan-abramov-things-i-dont-know/ как-будто прочитал своё резюме
GrafMine
Насколько хорошо нужно знать react чтобы без проблем найти работу?
я на реакт свичнулся, даже не зная его) так что тут чувак все сильно индивидуально)
Anonymous
я на реакт свичнулся, даже не зная его) так что тут чувак все сильно индивидуально)
Тоже самое, попал когда-то на продукт со стэком React, не зная его
Дима
https://techrocks.ru/2019/01/09/dan-abramov-things-i-dont-know/ как-будто прочитал своё резюме
в итоге, как делать ui для больших приложений, нас учат люди, которые не делают ни приложений, ни ui
Николай
А я думал что я почти нихера не знаю)
Николай
ага
Ну может он просто был другом этого чувака)
Дима
ты не поверишь, они оба сейчас реакт и пилят
Дима
Вот и поговорили
Николай
печально
yaroslav
Друзья привет,подскажите как сделать роутинг из js файла?
Aleksei
yaroslav
А что ты, собственно, хочешь сделать?
у меня есть некоторые обьекты с данными,в том числе функции для onclick'ов,хочу сделать route из фу-ии
🅅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
Заменить стейт на себя самого же ?
Dartess
В коде выше сначала мутируется open, а затем передаётся в setOpen
Sm•ok
Решение без мутации не катит ?
Sm•ok
setOpen({...open, value: !open.value})
Sm•ok
так
Sm•ok
ну или ключи там сам поменяй
Tutu
ок попробую
Sm•ok
!open.value ну
!open[value]