簡體   English   中英

React Axios - 未列出獲取的數據

[英]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 的后繼者。

componentDidMount 等效於 React 函數/Hooks 組件嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM