@IvanIvanIvanIvanIvan

Как передать аргумент в обработчик?

Есть метод
modalRun = (state) => {
    this.setState((prevState, state) => {
      return {
          modal: {
            ...prevState.modal,
            state: state
        }
      };
    });  
  };


Есть обработчки
<Button 
                               
   onPress={() => this.modalRun(1)}
   >


Оно по нажатию на 1 передает, а какой то неведомый объект. Можно ли передать 1?
  • Вопрос задан
  • 142 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега React
Во-первых, параметр state функции, переданной в setState, перекрывает параметр state, передаваемый в modalRun. Во-вторых, второй параметр функции, передаваемой в setState - это props, а вовсе не state. В общем, дурацким выбором имён параметров сами себя в заблуждение вводите. Делайте так:

modalRun = (modalState) => {
  this.setState((prevState) => {
    return {
      modal: {
        ...prevState.modal,
        state: modalState,
      },
    };
  });  
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы