Я пытаюсь добавить заставку перед загрузкой React.
так как я использую реагирующие сценарии / реагирующее приложение, мой index.tsx имеет только эту часть:
ReactDOM.render(<App />, document.getElementById("root"));
я попытался добавить свой собственный div на той же странице, но он не отображается.
я хотел бы отобразить простой пустой экран с моим изображением-заставкой на 1-секундном таймере, прежде чем реагировать на загрузку, чтобы избежать/скрыть смещение элементов рендеринга.
** если я добавлю экран в app.tsx, смещение произойдет до загрузки экрана
обновить
как указал Ришаб ниже, index.html находится в папке /public. В итоге я объединил 2 подхода.
добавить экран перед запуском реакции:
<div id="root"> <div id="dimScreen"> <img src="/img/logo.png" /> </div> </div>
2.
загрузка правильного загрузчика без верха в течение 0,5–1 с
class App extends Component {
state = {
loading: true
}
componentDidMount() {
setTimeout(() => {
this.setState({ loading: false });
}, 1000);
}
render() {
return (
<React.Fragment>
{
this.state.loading ?
<Loader />
: (
<div className="app">
<Header />
<MyComponent />
</div>
)
}
</React.Fragment>
);
}
}
пока этот подход работает лучше всего, но будет обновляться, если я найду проблемы или что-то лучше