[英]React Axios - The fetched data is not listed
我正在使用 Axios 發送數據和獲取數據。 數據來了,我可以用console.log(res.data)
看到,但是我不能把res.data
應用到setMessages
const [formData, setFormData] = useState({ input: null });
const [messages, setMessages] = useState([]);
const { input } = formData;
const onChange = e => setFormData({ input: e.target.value });
const onSubmit = event => {
event.preventDefault();
const data = new FormData(event.target);
setMessages(prevMsgs => [...prevMsgs, formData]);
console.log({ input });
axios
.post(`http://localhost:4000/prediction`, (data: data), {
crossdomain: true
})
.then(res => {
console.log(res.data);
setMessages(prevMsgs => [...prevMsgs, res.data]);
})
.catch(error => {
console.log(error.message);
});
};
在您的代碼中,您直接執行異步操作。 要在功能組件中執行異步操作,應根據掛載/更新要求使用“useEffect”鈎子。
就像在類組件中異步操作是從 componentDidMount 生命周期事件方法執行的,useEffect 鈎子是功能組件中 componentDidMount、componentDidUpdate 和 componentWillUnmount 的后繼者。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.