@xenonhammer

Как установить цели на яндекс метрики на кнопку в react. Тайпскрипт ругается?

Есть цели для события
и пример с формой и инпутом.
Пример
...
<form action="">
    ...
    <input type="button" onclick="ym(XXXXXX, 'reachGoal', 'TARGET_NAME'); return true;" value="Заказать" />
</form>
...

Но я использую onClick и Button. Когда пишу так:
<Button onClick="ym(XXXXXX, 'reachGoal', 'TARGET_NAME)" ></Button>

То тайпскрипт говорит что
Ошибка
Тип "string" не может быть назначен для типа "(event: MouseEvent) => void"


Дело в том что по этой кнопки еще вызываются несколько функций, так что в любом случае просто строку вставить не могу в реакте

Кнопка
<Button onClick={()=> {
                  setCookie('startTime', +start);
                  props.setCountSubmit(props.countSubmit + 1);
                  setCookie('countSubmit', props.countSubmit);
                  props.setShowModalWindow(false);
                  props.setShowModalWindowThank(true);
                  postFormData(data}
}
></Button>


ну и соответственно без тайпскрипта тоже ругается:
ошибка

Error: Expected `onClick` listener to be a function, instead got a value of `string` type.
  • Вопрос задан
  • 918 просмотров
Решения вопроса 1
@xenonhammer Автор вопроса
Всем кто пришел по тому же вопросу вот решение -
Вызывать такие функции можно колбеком используя ковычки
onClick={()=> `ym(XXXXXX, 'reachGoal', 'TARGET_NAME)`}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Maks_KaNDeR
А что за TARGET_NAME? как оно используется
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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