Ich habe eine Bildkomponente namens "Sidebar" in einer Datei und eine Hauptinhaltskomponente, "Main" in einem anderen. Ich rende sie beide in einer anderen Komponente in einer anderen Datei namens "Suche". Das einzige Problem ist, dass der Inhalt von "Main" aufgrund der langsameren Ladezeit des Bildes hinter "Sidebar" wiedergegeben wird. Ich weiß, dass ich componentDidMount oder componentWillMount oder etwas verwenden sollte, aber ich verstehe die React-Dokumente nicht, wie man dieses benutzt, da sie kein Beispiel für diese zur Verfügung stellen. Könnte mir bitte jemand sagen, wie man das mit dem folgenden Code macht?Wie kann ich Image Component zuerst in ReactJS rendern?
Sidebar.jsx
export default class Sidebar extends React.Component {
render() {
return (
<div style = {{display: 'flex',
flexDirection: 'row',
position: 'absolute',
top: 0,
left: 0}}>
<BackgroundImage/>
<Nav/>
<Logo/>
</div>
);
}
}
Main.jsx
export default class Main extends React.Component {
render() {
return (
<div style ={{height: 900, width: 900, backgroundColor: 'yellow'}}/>
)
}
}
Search.jsx
export default class Search extends React.Component {
componentWillMount() {
console.debug('componentWillMount');
}
render() {
return (
<div style = {{display: 'flex', flexDirection: 'row'}}>
<Sidebar/>
<Main/>
</div>
);
}
}
Dank!
Ihr Zwischencode-Snippet ist eine Wiederholung von Sidebar.jsx und nicht von Main.jsx. Ich vermute auch, dass die absolute Positionierung das Problem sein könnte, da dies das Element aus dem normalen Fluss herauszieht. Können Sie das Problem in einer JS-Sandbox wie https://codepen.io/ neu erstellen und mit dem Link bearbeiten? – gvfordo
@gvfordo sieht aus wie Jessie es repariert hat. –
Ich habe es nicht behoben, aber ich korrigierte den Fehler in meinem Beitrag. Ich werde auf Codepen posten. Vielen Dank! –