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