РЕАКЦИЯ: ошибка типа e.preventDefault не является функцией

#javascript #html #reactjs

#javascript #HTML #reactjs

Вопрос:

Я хотел бы запретить обновление страницы после отправки этой формы и не могу этого сделать. Чтобы решить эту проблему, до сих пор я пытался добавить return false оператор в конце функции, но это не помешало отправке. Если я закомментирую все после e.preventDefault() , он выполняется успешно.

JS:

 async function postQuestion(e){
        e.preventDefault()
        const requestBody = {
            "Subject": vidTimeMins.current.value   ":"   vidTimeSecs.current.value,
            "Message": {
                "Content": textBox.current.value,
                "Type": "Text"
            },
        }
        const res = await postQuestion(requestBody)
        console.log(res)
    }
 

Соответствующий HTML:

 <Button variant="secondary" type="submit" onClick={postQuestion}>Post Question</Button>
 

Спасибо за вашу помощь!

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

1. Если не ошибаюсь, вы должны передать событие в вызове (onClick).

2. Я пытался onClick={(e) => postQuestion(e)} , но я все еще получаю ту же ошибку.

3. Почему вы выполняете рекурсию, вызывая ту же функцию внутри, может быть, это вызывает у вас проблему.

4. Это было причиной проблемы. Спасибо!