reactjs - react hooks setState完成后如何解决promise?

标签 reactjs promise react-hooks setstate

我需要在 setState 完成后解决 promise ,但在 react 钩子(Hook)中 setState (useState) 没有回调函数。

这段代码的 react 钩子(Hook)版本:

handleBeforeGetContent = () => {
    return new Promise((resolve, reject) => {
        this.setState({ key: 'updatedValue' }, () => resolve());
    });
}

最佳答案

您可以在 useEffect 中使用 async 函数,如下所示。

  const [isLoadingComplete, setLoadingComplete] = React.useState(false);


  React.useEffect(() => {
        async function loadDataAsync() {
          try {    
            await loadAsyncSomething();
          } catch (e) {
            console.warn(e);
          } finally {
            setLoadingComplete(true);
          }
        }

        loadDataAsync();
      }, []);

关于reactjs - react hooks setState完成后如何解决promise?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58520155/

相关文章:

javascript - 最初的 promise 成功后又拒绝内心的 promise ?

javascript - 如何使用 promise ,或在函数完成之前完成 ajax 请求?

javascript - React leaflet map 库中的GeoJSON样式

html - 如何隐藏需要输入的消息 "please fill out this field"

reactjs - 在这个 redux reducer 中使用 Object.assign 的目的是什么?

javascript - 对象可能是 'null' 。 TS2531 定义 useScroll Hook 时出错

javascript - lodash debounce 不是 debounce 函数被调用多次而不是一次,react hooks react 原生

javascript - 如何正确使用 redux-form 的 debounce?

javascript - for 循环内的 promise

reactjs - 在 React 中,如何在所有组件中拥有一个自定义钩子(Hook)的单个实例?