jsx-eslint/eslint-plugin-react

Should react/no-did-mount-set-state trigger on ES2017 async componentDidMount?

Open

#1,110 opened on Mar 10, 2017

View on GitHub
 (16 comments) (21 reactions) (0 assignees)JavaScript (8,630 stars) (2,797 forks)batch import
bughelp wanted

Description

The rule react/no-did-mount-set-state triggers error on async componentDidMount function for a deferred setState. Basically, this.setState() is being called here after an async operation has been completed. It is not re-rendering straight after mounting, but only after some data has been retrieved from a server. Does it make sense to error on this?

async componentDidMount() {
    try {
      await someAsyncOperation();
    } catch (e) {
      this.setState({errorMessage: 'Failed to load data!'});
    }
  }

Contributor guide