【问题标题】:Unable to fetch api from rest api and get results in react无法从 rest api 获取 api 并在反应中得到结果
【发布时间】:2021-12-23 15:38:26
【问题描述】:
function App() {
  const [state, setState] = useState([{}]);
  const [resultstate, setResultState] = useState([{}]);

  function handleSubmit() {
    const uri = "/?${form.one}&${form.two}";
  }

  function handleChange(e) {
    const { nodeName, name, value } = e.target;
    if (nodeName === "INPUT") {
      setState({ ...FormData, [name]: value });
    }
  }

  useEffect(() => {
    fetch(uri)
      .then((res) => res.join())
      .then((data) => {
        setResultState(data);
        console.log(data);
      });
  }, []);

  return (
    <div className="App">
      <state onChange={handleChange}>
        <fieldset>
          <legend>Solute</legend>
          <input name="one" value={state.one} />
        </fieldset>
        <fieldset>
          <legend>Solvent</legend>
          <input name="two" value={state.two} />
        </fieldset>
        <button type="button" onClick={handleSubmit}>
          Submit
        </button>
      </state>
    </div>
  );
}

export default App;

我正在构建一个应用程序,其中烧瓶休息 API 接受两个字符串并给出一个浮点值作为预测。现在我正在尝试连接到 react 应用,以便可以在网页上显示预测。

现在我能够获取 URL,但无法使用 useEffect 获取预测结果。谁能指出我哪里做错了

'uri' is not defined no-undef 出现错误

【问题讨论】:

    标签: reactjs rest fetch flask-restful


    【解决方案1】:

    您尚未将 uri 定义为状态的一部分,它是在本地函数中定义的。因此出现错误。

    要解决,您需要将其添加到状态中。

    const [uri, setUri] = useState('');
    

    在handleSubmit中,可以使用setUri()方法设置状态。

    uri 现在可以作为 App 状态的一部分访问。

    【讨论】:

    • 谢谢@Kislaya Mishra 然后我收到res.join is not a function 错误
    • 这是一个单独的问题。 res 将收到来自您的 api 的响应。 join() 函数是一个数组函数,但是在一个 http 响应对象中响应。您确定不想加入res.data 吗?我只是在猜测,我不确定 api 返回了什么样的数据。您的 api 返回的数据将可通过 res.data 访问。
    猜你喜欢
    • 2012-04-26
    • 1970-01-01
    • 1970-01-01
    • 2019-09-06
    • 1970-01-01
    • 2020-08-25
    • 2022-11-23
    • 1970-01-01
    相关资源
    最近更新 更多