useState 不在 axios 承诺中执行

Posted

技术标签:

【中文标题】useState 不在 axios 承诺中执行【英文标题】:useSate doesn't execute in axios promise 【发布时间】:2021-09-15 03:05:17 【问题描述】:

这是一个反应组件的一部分

  const listId = props.listId;
  const [list, setList] = useState();
  useEffect(() => 
    let isMounted = true;
    axios.get(`http://localhost:9000/lists/$listId`).then((res) => 
      if (isMounted) 
        setList( ...res.data );
      
    );
    return () => 
      isMounted = false;
    ;
  );

由于某种原因,setList 没有执行

【问题讨论】:

您好,您确认执行了axios调用并收到响应了吗? 是的,我收到了回复 【参考方案1】:

看看这个codeandbox,它工作正常。

codesandbox 链接:https://codesandbox.io/s/interesting-bush-5v3hf?file=/src/App.js

【讨论】:

嘿,看看我上面提到的链接。

以上是关于useState 不在 axios 承诺中执行的主要内容,如果未能解决你的问题,请参考以下文章

react-axios-middleware 承诺处理

vue中axios安装及使用

reactjs-Axios 帖子返回空对象

Axios 承诺解决/待处理承诺

反应 useState 钩子不使用 axios 调用更新

Axios 响应承诺对象但需要承诺值