У меня есть кнопка, которая должна отправить форму в API. Я получаю сообщение об ошибке:
Error: Invalid hook call. Hooks can only be called inside of the body of a function...
Весь мой код находится здесь:
function SubmitButton(props) {
function SendData(url) {
const [data, setData] = useState([]);
const eta = document.getElementById('eta_value')
async function getData() {
const options ={
method : 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json;charset=UTF-8'
},
body: JSON.stringify({
name:'26',
eta:'30',
})
}
const response = await fetch(url, options)
.then(response =>{
console.log(response.status);
});
}
useEffect(() => {//check this out
getData();
}, []);
};
const title = props.title;
//const onSubmit = {SendData}
return(
<div id={title}>
<Button
onClick={() => SendData("http://XXX.X.X.X:XXXX/api/")}
variant="contained"
color="primary">
</Button>
</div>
)
}
export default SubmitButton
Это показывает, что ошибка происходит в:
function SendData(url) {
const [data, setData] = useState([]);
const eta = document.getElementById('eta_value')
async function getData() {
Который вызывается по щелчку. Я устранял неполадки в течение нескольких дней, но не могу понять, почему я нарушаю правила хуков.