Ich arbeite an einer kleinen React-App mit vier Komponenten: Main, Nav, Timer und Countdown. Wenn ich es ausführe (öffne einen neuen Tab und lade die App, nicht auffrischen), möchte ich, dass diese App Main- und Timer-Komponenten gleichzeitig rendert, aber die App rendert nur Main Component und ich sehe eine leere Seite mit nur Nav-Komponente gerendert wurde .Rendern von zwei Komponenten beim ersten Lauf
Ich habe versucht mit IndexRoute, aber ich habe einen seltsamen Fehler und es hat nicht funktioniert für mich.
Hier ist mein Code:
import React from 'react';
import ReactDOM from 'react-dom';
import {BrowserRouter as Router, Route, IndexRoute, hashHistory} from 'react-router-dom';
import Main from 'Main';
import Timer from 'Timer';
import Countdown from 'Countdown';
ReactDOM.render(
<Router history={hashHistory}>
<div>
<Route path="/" component={Main} />
<Route exact path="/timer" component={Timer} />
<Route path="/countdown" component={Countdown} />
</div>
</Router>,
document.getElementById('app')
);
Hauptbestandteil:
import React, {Component} from 'react';
import Nav from 'Nav';
class Main extends Component {
render() {
return (
<Nav />
);
}
}
export default Main;
Nav Komponente:
import React, {Component} from 'react';
import {NavLink} from 'react-router-dom';
class Nav extends Component {
render() {
return (
<div className="top-bar">
<div className="top-bar-left">
<ul className="menu">
<li className="menu-text">React Timer</li>
<li><NavLink to="/timer" activeClassName="active-link" activeStyle={{fontWeight: 'bold'}}>Timer</NavLink></li>
<li><NavLink to="/countdown" activeClassName="active-link" activeStyle={{fontWeight: 'bold'}}>Countdown</NavLink></li>
</ul>
</div>
<div className="top-bar-right">
<ul className="menu">
<li className="menu-text">Created by Milad Fattahi</li>
</ul>
</div>
</div>
);
}
}
export default Nav;
Die beiden anderen Komponenten nur mit einem einfachen Textelement enthalten.
Sie die Hauptkomponente als Hauptseite und anderen Routen machen wollen als Das Kind davon? bedeutet Rendering von anderen Routen Komponenten in Main? –
Ja, genau. Und wie gesagt, ich möchte sowohl Main- als auch Timer-Komponenten beim ersten Start der App zeigen. –