Загрузка...

Как сделать чтобы при нажатии на кнопку срабатывал if и выполнял действие?

Тема в разделе Node.js создана пользователем ALL_KALL 22 июн 2021. 187 просмотров

  1. ALL_KALL
    ALL_KALL Автор темы 22 июн 2021 10 5 дек 2020
    Учу js начал писать приложения на react. Я немного не понимаю, как можно сделать так, чтобы при нажатии на кнопку срабатывало условие. Функция возвращает булы.[IMG] Функция go вызывается из app. [IMG]
     
  2. asdfowner
    asdfowner 22 июн 2021 8 10 май 2021
    Все элементарно, в if после go добавь круглые скобки.
    Должно получится так
    JavaScript

    async e => if (await check_subscripe()) {go(e)}
    Ну и эвент не забудь захватить и передать его, просто так он в ту функцию не попадет
     
    1. ALL_KALL Автор темы
    2. ALL_KALL Автор темы
      asdfowner, такую вот ошибку выдает [IMG]
    3. asdfowner
      ALL_KALL, onClick вызывает переданную функцию при клике на элемент, при этом передает в нее первым аргументом ReactEvent клик.
      Ты уже передаешь в него асинхронную анонимную функцию, происходит ее вызов и передается эвент. Самостоятельно ее вызывать нет необходимости. А вот функции внутри нее вызывать уже нужно вручную, т.к. реакт доступа к ним уже не имеет.
      Я же правильно понял, что функция go должна принимать на вход эвент?
      А для того что бы понять что за ошибка, достаточно ее закинуть в переводчик. Тут написанно что у эвента, свойство currentTarget это null, а у null нет свойства dataset. Решение очень простое, получше разобраться в евентах реакта. Именно потомучто, при добавлении слушателя эвента таким образом, вместо обычного эвента передается эвент реакта, у которого уже нет свойства currentTarget, зато есть простое анологичное свойство target. Замени currentTarget на target.
      В следующий раз советую немного погуглить сначала, перед тем как вопрос задавать.
Загрузка...
Top