Size: a a a

React — русскоговорящее сообщество

2020 November 20

YM

Yavar Mammadov in React — русскоговорящее сообщество
Ребята кто-то работал с Gatsby ?
источник

S

Stanislav in React — русскоговорящее сообщество
Yavar Mammadov
Ребята кто-то работал с Gatsby ?
источник

SA

Sergey Alekseyuk in React — русскоговорящее сообщество
то чувство когда даже не потрудились поменять neprivet.ru
источник

НМ

Никита Михайловский... in React — русскоговорящее сообщество
Всем привет!
У меня глупый вопрос по хукам.

Следующий  кейс:
На одной вьюхе отображение ошибки, на  второй вьюхе я эту самую ошибку ставлю.
Решил использовать для этого кастомные хуки.

использую хуки так:

в первом файле, где мне нужно получить состояние ошибки:
 let errH =  useError()
  icon={!errH.error? a : b} //условные иконки

во второмм файле, где я хочу устанавливать этот самый стейт -

 let err = useError()
 onBlur={(val) => { err.setLogicError(true)}

В итоге, стейт не меняется, в самой функции поле error не изменяется.

Несколько вопросов:
1) где я ошибся
2) можно ли вообще реализовать то, что мне нужно через  хуки, или надо использовать другой инструмент?
источник

S

Stanislav in React — русскоговорящее сообщество
Sergey Alekseyuk
то чувство когда даже не потрудились поменять neprivet.ru
зачем менять то что хорошо работает)
источник

SA

Sergey Alekseyuk in React — русскоговорящее сообщество
Stanislav
зачем менять то что хорошо работает)
Это к разговору зачем создавать 50 одинаковых методов которые различаются только названием?)
источник

S

Stanislav in React — русскоговорящее сообщество
Никита Михайловский
Всем привет!
У меня глупый вопрос по хукам.

Следующий  кейс:
На одной вьюхе отображение ошибки, на  второй вьюхе я эту самую ошибку ставлю.
Решил использовать для этого кастомные хуки.

использую хуки так:

в первом файле, где мне нужно получить состояние ошибки:
 let errH =  useError()
  icon={!errH.error? a : b} //условные иконки

во второмм файле, где я хочу устанавливать этот самый стейт -

 let err = useError()
 onBlur={(val) => { err.setLogicError(true)}

В итоге, стейт не меняется, в самой функции поле error не изменяется.

Несколько вопросов:
1) где я ошибся
2) можно ли вообще реализовать то, что мне нужно через  хуки, или надо использовать другой инструмент?
у вас два компонента, вы юзаете хук чтобы создавать ошибку из одного компонента, и показывать ее в другом, так?
источник

НМ

Никита Михайловский... in React — русскоговорящее сообщество
Stanislav
у вас два компонента, вы юзаете хук чтобы создавать ошибку из одного компонента, и показывать ее в другом, так?
да, я хотел бы с помощью хука имметь возможность устанавливать где-то ошибку. Она не из стейта, она очень аабстрактна) Наприммер, вот, хочу, чтобы по онблуру срабатывал этот хук, и на первом компоненте я узнавал, что во втором компоненте появилась ошибка
источник

S

Stanislav in React — русскоговорящее сообщество
Никита Михайловский
да, я хотел бы с помощью хука имметь возможность устанавливать где-то ошибку. Она не из стейта, она очень аабстрактна) Наприммер, вот, хочу, чтобы по онблуру срабатывал этот хук, и на первом компоненте я узнавал, что во втором компоненте появилась ошибка
вам нужен контекст или другой способ стейт менеджмента чтобы шерить стейт, тот хук который вы написали создает новый инстанс стейта для каждого компонента, а не реюзает один и тот же стейт.
источник

НМ

Никита Михайловский... in React — русскоговорящее сообщество
Stanislav
вам нужен контекст или другой способ стейт менеджмента чтобы шерить стейт, тот хук который вы написали создает новый инстанс стейта для каждого компонента, а не реюзает один и тот же стейт.
ой,  точно, да, мне нужно создавать реюзабельный хук.
А как это можно сделать?
источник

S

Stanislav in React — русскоговорящее сообщество
Никита Михайловский
ой,  точно, да, мне нужно создавать реюзабельный хук.
А как это можно сделать?
тут вам нужен не хук, а засунуть этот стейт в контекст например, и шерить оттуда
источник

НМ

Никита Михайловский... in React — русскоговорящее сообщество
Stanislav
тут вам нужен не хук, а засунуть этот стейт в контекст например, и шерить оттуда
а никак нельзя сделать это с помощью хуков?
я не хочу использовать стейты для решения конкретно этой задачи)

Можно ли как-то менять состояние переменной стетйа внутри функции, вызывая эту функцию из другого места, не используя стор для хранения?
А хранить все как бы в хуке)
источник

НМ

Никита Михайловский... in React — русскоговорящее сообщество
я понимаю, что это может показаться странным, но конкретно в этом кейсе мне соврешенно не подхрдит хранения в сторе..
источник

S

Stanislav in React — русскоговорящее сообщество
Никита Михайловский
а никак нельзя сделать это с помощью хуков?
я не хочу использовать стейты для решения конкретно этой задачи)

Можно ли как-то менять состояние переменной стетйа внутри функции, вызывая эту функцию из другого места, не используя стор для хранения?
А хранить все как бы в хуке)
хук создаст новый инстанс стейта для компонента, шерить стейт из хука привычным способом не получится, можно конечно костыли с каким-нибудь localStorage вставлять, но сами понимаете, это последнее о чем стоит думать
источник

НМ

Никита Михайловский... in React — русскоговорящее сообщество
Stanislav
хук создаст новый инстанс стейта для компонента, шерить стейт из хука привычным способом не получится, можно конечно костыли с каким-нибудь localStorage вставлять, но сами понимаете, это последнее о чем стоит думать
Спасибо!
источник

AM

Andrey Mishagin in React — русскоговорящее сообщество
Ты проверял этот конфиг?
источник

И

Иван in React — русскоговорящее сообщество
Никита Михайловский
да, я хотел бы с помощью хука имметь возможность устанавливать где-то ошибку. Она не из стейта, она очень аабстрактна) Наприммер, вот, хочу, чтобы по онблуру срабатывал этот хук, и на первом компоненте я узнавал, что во втором компоненте появилась ошибка
Можно хранить информацию в стейте и прокидывать через контекст. Написать хук, в котором будет спрятан доступ к контексту — извлечение значения и функции, это значение меняющее. В любом компоненте-потомке провайдера контекста можно просто вызвать хук и он вернёт тебе пошаренное значение и функцию для изменения этого значения. А можно взять стейт-менеджер, в котором эта функциональность уже реализована за тебя
источник

НМ

Никита Михайловский... in React — русскоговорящее сообщество
Иван
Можно хранить информацию в стейте и прокидывать через контекст. Написать хук, в котором будет спрятан доступ к контексту — извлечение значения и функции, это значение меняющее. В любом компоненте-потомке провайдера контекста можно просто вызвать хук и он вернёт тебе пошаренное значение и функцию для изменения этого значения. А можно взять стейт-менеджер, в котором эта функциональность уже реализована за тебя
спасибо!
источник

TG

Timofey Goncharov in React — русскоговорящее сообщество
не совсем по теме но не знаю где еще спросить.
как в yarn обноавить версию конкретной зависимости?
нагуглил upgrade какой-то, но он не обновляет 🤷‍♂️
источник

Т

Тимофей 🛴 in React — русскоговорящее сообщество
Timofey Goncharov
не совсем по теме но не знаю где еще спросить.
как в yarn обноавить версию конкретной зависимости?
нагуглил upgrade какой-то, но он не обновляет 🤷‍♂️
upgrade-interactive
источник