169 похожих чатов

Гайз, такой вопрос. Есть компонент с определенным пропсом, который может

передаваться в компонент, а может не передаваться. Как по уму создавать useState внутри компонента при отсутствии пропса? Я ведь не могу написать if(!props) {useState}

15 ответов

8 просмотров

UseState(props)

Aleksey- Автор вопроса
Алексей Коршунов
UseState(props)

Пропс является как индикатор того, нужен ли стейт внутри компонента, грубо говоря. Это не значение

Aleksey- Автор вопроса
Алексей Коршунов
Давай подробнее

Есть канвас кнопка (компонент). В нее передается куча пропсов. Вместе с ними передается state и setState из родителя (что является индикатором того, нажата ли кнопка или нет(boolean)). Стейт в родителе, так как иногда родитель должен знать о состоянии кнопки. Но не всегда. Есть кейс, где родителю знать не обязательно о состоянии кнопки, а кнопок на экране много (то есть придется создавать в родителе много стейтов). То есть я внутри компонента кнопки хочу проверять приходит ли стейт в кнопку или нет. Если приходит, окей, юзаем его. Если не приходит - создаем свой

Aleksey
Есть канвас кнопка (компонент). В нее передается к...

Мозг сломал мне. Кнопки рисуются на основании какого-то результата, если в результате у нескольких кнопок стоит признак, ты не нужен родителю, то зачем их рисовать?

Aleksey- Автор вопроса
Алексей Коршунов
Мозг сломал мне. Кнопки рисуются на основании како...

В кнопку передается clickFunction, который выполняется после клика на кнопку. "Состояние кнопки" - я имел ввиду mouseup и mousedown. Иногда родитель должен знать о том, что произошли эти события (в этом кейсе стейт лежит у родителя). Иногда ему знать не обязательно (в этом кейсе я хочу перенести стейт в сам компонент)

Aleksey- Автор вопроса
Aleksey
В кнопку передается clickFunction, который выполня...

То есть мне, грубо говоря, нужно написать что-то вроде этого

Aleksey- Автор вопроса
Aleksey
В этом и вопрос, как написать

можно попробовать описать задачу целиком. И именно задачу а не предпологаемый тобой способ решения

Aleksey
Есть канвас кнопка (компонент). В нее передается к...

кстати, а в чем именно проблема? локальный стейт есть всегда, дальше просто определяешь по пропсам юзать его или значение из пропсов

Aleksey- Автор вопроса
Ilya Agarkov
кстати, а в чем именно проблема? локальный стейт ...

Таки да. Но менять во всем компоненте state={state} на state={state ? state : localState} ну такое. Решение на черный день

Aleksey
Таки да. Но менять во всем компоненте state={state...

напиши это один раз const state = props.hasSomeProps ? props.state : localState и используй

Aleksey- Автор вопроса
Ilya Agarkov
напиши это один раз const state = props.hasSomePro...

Кстати интересное решение. Спасибо

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта