Нам удалось улучшить производительность, до 2 секунд быстрее, следуя рекомендациям @Julien Bourdic и @Jayavel в разделе комментариев выше:
state = {
isReady: false
}
componentDidMount() {
fetch();
this.setState({ isReady: true });
}
render() {
return this.state.isReady ? <Wrapped {...this.props} /> : null;
}
В основном мы визуализируем null
, когда выборка не завершена,Таким образом, компоненты B
и C
не будут монтироваться и отображаться, что позволяет A
s componentDidMount
(и fetch
) запускаться раньше.