【问题标题】:Do I need a useEffect for backend request?后端请求需要 useEffect 吗?
【发布时间】:2022-11-03 03:45:19
【问题描述】:

尝试从前端向后端发送请求时出现以下错误:

App.js:22 GET http://localhost:3000/abc/id/1265 431 (Request Header Fields Too Large)
VM531:1 Uncaught (in promise) SyntaxError: Unexpected end of JSON input
    at handleSubmit (App.js:23:1)
  const handleSubmit = async (event) => {
    event.preventDefault();
    const resp = await fetch(`/abc/${searchType}/${search}`);
    const json = await resp.json();

    if (json.success) {
      return setData(json.thing);
    } else if (json.error) {
      return setData(null);
    }
  };

【问题讨论】:

  • 这意味着您的服务器没有发送有效的 json
  • 后端请求需要 useEffect 吗?- 不

标签: javascript reactjs


【解决方案1】:

报错是由于handleSubmit中的“return语句”,去掉“return”关键字,只写setData(json.thing)或者setData(null)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-08
    • 2012-08-15
    • 2022-07-06
    • 2017-07-13
    • 2014-04-20
    • 1970-01-01
    • 2018-12-14
    相关资源
    最近更新 更多