Как изменить состояние в компоненте канала маршрутизатора React?

#reactjs #input #react-router #state #react-link

Вопрос:

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

 <Link
     to={{pathname: "/Module1",
            state: {
                ischecked: false,
                },
              }}
              className={styles.menuCard}>
              <h2>Introduction amp;rarr;</h2>
              <p>Lesson 1</p>
              <input className={styles.checkbox} type="checkbox" 
              checked={ischecked} /> <<--cant access? how to access?
</Link>
 

Ответ №1:

Я вижу, что это isChecked состояние,

   const App = () => {
    const [isChecked, setChecked] = useState(false)
    const onChange = e => { setChecked(e.target.checked) }

    return <input type="checkbox" checked={isChecked} onChange={onChange} />
  }
 

Как только вы зафиксируете поведение состояния, вы сможете отправить этот флаг в любое место вашего кода.

Комментарии:

1. Спасибо, что может немного отличаться от того, что я нажимаю кнопку на отдельном компоненте, фактически на компоненте «Модуль1», который меняет флажок на true. Поэтому мне нужно иметь возможность изменить значение флажка ввода в компоненте, на который указывает ссылка. (модуль1)