Китикет
Но он какие-то костыли воротит, либо там непонятный boilerplate в котором не понять где статика хранится
Китикет
Отличный лендос
Anonymous
Законно ?
Mihail
Законно ?
Зач тебе мапа там?
Anonymous
Это не мне, аргументируют чтобы не писать несколько стейтов и не спредить обычный обьект
Dmitry
Какой полно экранный просмотрщик популярный?
Mihail
Это не мне, аргументируют чтобы не писать несколько стейтов и не спредить обычный обьект
Ну всё равно тебе надо будет каждый раз новую Мапу возвращать для изменения стейта
Anonymous
Ну работать выходит с мапом все равно удобнее
from
как раз рекомендуемо
Anonymous
Чем удобнее?
🤷‍♂️, сам пулл-реквест смотрю и понять не могу
Илья
А не проще создать один стейт и обновлять стейт так changePassword(prevState => { …prevState, new: true })?
K.
Ребята, привет. Знаете ли вы какой-нибудь способ определить в родителе, что все его дети отрендерили null? Например, в родительском компоненте происходит рендер трёх других компонентов внутри обертки. Если все потомки возвращают из рендера null, то и родительский компонент не рендерит обертку. Из родителя в детей прокидываются пропсы, на их основании и происходит рендер в детях. Можно в родителе производить проверку, но она будет дублирующая. Перенести из детей в родителя проверку не могу по нескольким причинам. Если хотя бы один потомок вернул не null, то оберкту оставляем, в противном случае не рендерится и родитель. Примерно понятен вопрос? =)
wolfe
Выходит все же проще?
А он будет реактивным?
Anonymous
А он будет реактивным?
А вот я и спрашиваю
wolfe
А вот я и спрашиваю
Ну там по идее ссылка будет на старый Map, созданная при инициализации
Илья
спредить лень
А писать такую конструкцию которая выше на скрине не лень?
Andrey
А вот я и спрашиваю
там мапа дефолтная жс, или из имьютабла какого нибудь?
K.
хелпер React.Children, но вообще звучит как анти-паттерн
Эту штука не поможет. Она перебирает детей. Дети там есть в любом случае, хоть и рендерят потом null.
from
напиши useState три раза, в чём проблема)
Andrey
дефолтная
тогда как это вообще будет работать, присоединяюсь к вопрошающим
K.
https://reactjs.org/docs/profiler.html попробуй это, но не факт что я прав
Спасибо, но во-первых, это инструмент для разработки, во-вторых, в проде он не работает.
from
тогда как это вообще будет работать, присоединяюсь к вопрошающим
почему не будет-то, сетСтейт вызвали, увидели обновление
from
почему не будет-то, сетСтейт вызвали, увидели обновление
реакту похер мутировал ты данные или нет
Andrey
почему не будет-то, сетСтейт вызвали, увидели обновление
а ему типа по барабану, что стейт не обновился, он все равно апдейт шлепнет?
from
Но это не значит, что стоит мутировать)
wolfe
Мб вызов функции провоцирует рендер
K.
так определить все ли null
Ещё разок. У меня есть обёртка, в обертке есть, например, 3 потомка-компонента. Они там точно есть и всегда. Но при некоторых обстоятельствах они рендерят null. Мне надо понять, что они все рендерят null. React.Children перебирает детей, а не результат их рендер-функций.
Andrey
реакту похер мутировал ты данные или нет
так, вы зачем меня обманываете, а ето что
Andrey
А что там? Я с мобилки)
если обновить стейт ссылкой на тот же объект, ререндер не сработает
Eugene
кто-нибудь знает, как получить в enzyme state? ShallowWrapper::state() can only be called on class components
Eugene
как получить стейт в функциональном компоненте?
K.
Вынести общий код проверок, в родителе посчитать и этот результат прокинуть в детей, что б проверки там отьалкивались от родительской = нет дублирования
Я выше написал, что не могу так сделать по нескольким причинам. Например, потому, что у меня typescript, он не позволяет делать перебор .map, если нет уверенности, что в переменной не null. А уверенности у него в этом нет без проверки.
Eugene
useState()
Alexander
useState()
const [ state, setState ] = useState()
Anonymous
привет парни!
Anonymous
а как открыть приложение со старта на нужном route
Rrr
а как открыть приложение со старта на нужном route
Редиректи с index на нужный роут 🤔
K.
а как открыть приложение со старта на нужном route
Можешь при инициализации верхнего компонента, например App, сделать переход на нужный роут в componenDidMount.
K.
Главное, чтоб App при этом в роутере находилось, конечно.
Anonymous
можеш пример написать?
Anonymous
или ссылку почитать docs
K.
можеш пример написать?
Ты сам код пишешь или для кого-то?
Anonymous
сам
Anonymous
для тестового задания
K.
Какой роутер используешь?
Alexey
mikrotik
Andrey
😂
K.
mikrotik
Очень смешная шутка.
Китикет
ZyXEL юзаю
Andrey
oO они что ли изменили логику для хуков
🤷🏻‍♂️🤷🏻‍♂️ ну в целом емнип, у классов так и работало, не думаю, что должно отличаться для хуков
from
А вот пишут что для хуков действительно стали по-другому делать: https://reactjs.org/docs/hooks-reference.html#bailing-out-of-a-state-update
Zaff
правильно ли просто взять и отключить это правило в настройках линтера?
Andrey
так?
ага
Zaff
так?
но меня пугает второй коммент о том, что в дальнейшем может возникнуть хаос)
Zaff
стоит волноваться?
Vladislav
ну он возникнет