Я использую рендеринг на стороне сервера с разделением кода Webpack. Сервер возвращает HTML для компонента. Однако при инициализации React, поскольку я использую разделение кода, компонент React, который я хочу отобразить, еще не загружен. Как правило, я хотел бы отобразить экран загрузки. Однако HTML для компонента уже отрендерен, поэтому я не хочу заменять его экраном загрузки.
Есть ли способ заставить React временно игнорировать компонент и не обновлять DOM?
Компонент выглядит примерно так:
export default class SomeRoute extends Preact.Component {
constructor() {
super();
this.state = {
Component: null,
};
}
componentDidMount() {
if (!this.state.component) {
this.props.componentLoader().then(Component => this.setState({ Component }));
}
}
render({}, { Component }) {
if (!Component) {
return (
<p>Loading...</p>
);
}
return (
<Component />
);
}
}
Вывод <Component />
уже возвращен сервером.