./src/components/withUser.js
export default WrappedComponent =>
class WithUser extends Component {
state = {};
async componentDidMount() {
const response = await fetch('/api/user');
const user = await response.json();
this.setState({ user });
}
render() {
return this.state.user
? <WrappedComponent {...this.props} {...this.state} />
: 'Ladataan käyttäjätietoja...';
}
};
import withUser from './withUser';
export default withUser(
class App extends Component {
render() {
return <div>{this.props.user.name}</div>;
}
}
);