Китикет
так почему setState в нем допустим???
А почему должен быть запрещен? И самое главное, где тогда делать подобные сайдэффекты, кроме как не в cDM?
Alexander
так почему setState в нем допустим???
Сначала идет отрисовка в initialState, а после монтирования уже все доступно
Phil
А почему должен быть запрещен? И самое главное, где тогда делать подобные сайдэффекты, кроме как не в cDM?
ну мне уже ответили что он глобально один раз ввызывается даже если компонент перерендеривается
Mihail
ладно...
ререндер !== маунт
Vadim
Вы нормальные, нет?)
Phil
ререндер !== маунт
спасибо понял)
Vadim
?
Это не тебе. С тобой то всё понятно, ты просто документацию не прочитал, либо плохо прочитал)
Alexander
Ну вот
То есть Form.Container Form.Field Будет лучше, чем Form Form.Field ?
Alexander
о, тут кто-то еще юзает классы :D
Если нужны публичные методы, то да
Yury
о, тут кто-то еще юзает классы :D
Постоянно. Почему должен отказаться?
Alexander
Чтобы потом через ссылку на компонент их вызывать
Китикет
То есть Form.Container Form.Field Будет лучше, чем Form Form.Field ?
Семантически может нет, логически - да
Oleg
Если нужны публичные методы, то да
чего чего, с этого места поподробней пожалуйста
Китикет
о, тут кто-то еще юзает классы :D
Ну классов/хуков это не касается, потому что cDM есть и там и там
Oleg
Постоянно. Почему должен отказаться?
потому что есть альтернатива получше?)
Oleg
show = () => this.modalRef.show()
this.modalRef - реф компонента?
Oleg
я бы таких говнокодеров ногами пинал будь моя воля
Alexander
Может быть и show = () => this.setState({ show: true })
Oleg
именно так в реакте все и работает
Китикет
Есть такая штука, как useRef
Китикет
Alexander
А здесь что особенного?
Компонент сам отвечает за себя, а не батя с ремнем говорит, что ему делать
Alexander
Что?
Что что?
Mihail
непонятно
Oleg
Компонент сам отвечает за себя, а не батя с ремнем говорит, что ему делать
ну так нахрена ты это говно юзаешь которое первым написал?
Таймураз
Вы на личности не переходите только
Таймураз
Батя с ремнем тут
Китикет
Что что?
Что значит "сам отвечает за себя" и что значит "батя говорит, что ему делать"?
Vadim
Компонент сам отвечает за себя, а не батя с ремнем говорит, что ему делать
Я что-то пока не понял из твоих примеров почему нельзя в них использовать FC
Mihail
ещё бы стейт открыт/закрыт для модалки в стор пихать
Oleg
Что?
зачем ты используешь императивный подход с рефом компонента и вызовом его методов напрямую откуда то сверху, вместо того чтобы делать как адекватные люди через стейт и прокидывание состояния пропсами?
Alexander
Попробую объяснить. Есть компонент модалки. И есть 2 реализации. Когда родительский компонент хранит в себе состоянии модалки (открыта или нет) и через проп сообщает самому компоненту, открыта она или нет. А можно, чтобы сам компонент модалки хранил состояние свое, а родительский компонент лишь говорил: Откройся
Китикет
Страшный человек
Vadim
Объясни
Лучше не надо
Oleg
Объясни
нет желания, за такое на код ревью надо писать на лицо
Alexander
Ну тогда всего доброго
Alexander
Значит this.input.focus() тоже говнокод
Vadim
Ну тогда всего доброго
Ты лучше объясни что ты имел ввиду про классы и публичные методы
Китикет
Ну тогда всего доброго
Ты это везде такое используешь?
Китикет
Ты это везде такое используешь?
Нет никого, кто может пиздить за такое?)
Oleg
Значит this.input.focus() тоже говнокод
ты видишь разницу между рефом дом ноды и компонента? с input.focus() у тебя попросту альтернативы нет
Oleg
а с рефом компонента - есть
Китикет
Одно дело методы html ноды, другое - методы компонента
Alexander
Ну значит если у меня компонент, который работает с input и я пишу обертку над focus, то это тоже говнокод. Понял
Китикет
Объясни
А если тебе в родительском компоненте надо сделать условный рендеринг чего-то кроме модалки, основываясь на ее состоянии?
Китикет
Что будем делать?
Oleg
Вот тут о том когда надо использовать рефы и когда нет
Oleg
https://ru.reactjs.org/docs/refs-and-the-dom.html
Китикет
Mihail
:)
Китикет
Черт
Китикет
Я на такой проект бы не пошел наверное, если бы такие приколы там увидел
Китикет
Какие Александр предлагает
Vadim
На тёмную сторону такое ведёт
Alexander
Так тебя и не зовут
Vadim
Так тебя и не зовут
Спасибо за уточнение
Китикет
Так тебя и не зовут
Доку еще не поздно почитать
Китикет
Серьезно
Alexander
Спасибо за уточнение
Спасибо за интерес к нашему проекту