Files
react.dev/examples/update-on-async-rendering/fetching-external-data-before.js

31 lines
566 B
JavaScript

// Before
class ExampleComponent extends React.Component {
state = {
externalData: null,
};
// highlight-range{1-8}
componentWillMount() {
this._asyncRequest = loadMyAsyncData().then(
externalData => {
this._asyncRequest = null;
this.setState({externalData});
}
);
}
componentWillUnmount() {
if (this._asyncRequest) {
this._asyncRequest.cancel();
}
}
render() {
if (this.state.externalData === null) {
// Render loading state ...
} else {
// Render real UI ...
}
}
}