Using async setState

前端 未结 5 2120
清歌不尽
清歌不尽 2020-11-28 04:42

I have function which dispatched an action. I would like to display a loader before and after the action. I know that react composing the object passed to setState

5条回答
  •  醉梦人生
    2020-11-28 05:10

    you can wrap the setState in a Promise and use async/await as below

    setStateAsync(state) {
        return new Promise((resolve) => {
          this.setState(state, resolve)
        });
    }
    
    async handleChange(input) {
        await this.setStateAsync({ load: true });
        this.props.actions.getItemsFromThirtParty(input);
        await this.setStateAsync({ load: false })
    }
    

    Source: ASYNC AWAIT With REACT

提交回复
热议问题