передаваться в компонент, а может не передаваться. Как по уму создавать useState внутри компонента при отсутствии пропса? Я ведь не могу написать if(!props) {useState}
UseState(props)
Пропс является как индикатор того, нужен ли стейт внутри компонента, грубо говоря. Это не значение
Есть канвас кнопка (компонент). В нее передается куча пропсов. Вместе с ними передается state и setState из родителя (что является индикатором того, нажата ли кнопка или нет(boolean)). Стейт в родителе, так как иногда родитель должен знать о состоянии кнопки. Но не всегда. Есть кейс, где родителю знать не обязательно о состоянии кнопки, а кнопок на экране много (то есть придется создавать в родителе много стейтов). То есть я внутри компонента кнопки хочу проверять приходит ли стейт в кнопку или нет. Если приходит, окей, юзаем его. Если не приходит - создаем свой
Мозг сломал мне. Кнопки рисуются на основании какого-то результата, если в результате у нескольких кнопок стоит признак, ты не нужен родителю, то зачем их рисовать?
В кнопку передается clickFunction, который выполняется после клика на кнопку. "Состояние кнопки" - я имел ввиду mouseup и mousedown. Иногда родитель должен знать о том, что произошли эти события (в этом кейсе стейт лежит у родителя). Иногда ему знать не обязательно (в этом кейсе я хочу перенести стейт в сам компонент)
То есть мне, грубо говоря, нужно написать что-то вроде этого
нельзя так писать
В этом и вопрос, как написать
можно попробовать описать задачу целиком. И именно задачу а не предпологаемый тобой способ решения
кстати, а в чем именно проблема? локальный стейт есть всегда, дальше просто определяешь по пропсам юзать его или значение из пропсов
Таки да. Но менять во всем компоненте state={state} на state={state ? state : localState} ну такое. Решение на черный день
напиши это один раз const state = props.hasSomeProps ? props.state : localState и используй
Кстати интересное решение. Спасибо
Обсуждают сегодня