Ich habe diese Route:reagieren Router App machen und anmelden
<Route path="/" component={App}>
<Route path="login">
<IndexRoute component={LoginPage}/>
</Route>
<Route onEnter={requireAuth}>
<IndexRoute component={DashboardPage} />
<Route path="accounts">
<IndexRoute component={AccountPage}/>
<Route path="add" component={AccountAdd} />
<Route path="detail/:id" component={AccountDetail} />
</Route>
<Route path="contacts">
<Route path="detail/:id" component={ContactPage}/>
</Route>
<Route path="transmissors">
<Route path="detail/:id" component={TransmissorPage}/>
</Route>
<Route path="attends" component={AttendancePage} />
<Route path="reports" component={ReportPage} />
<Route path="configs" component={ConfigurationPage} />
</Route>
</Route>
Inside my App Komponente möchte ich eine bedingte haben, um die Login-Seite und die App-Seite zu machen.
Ich weiß nicht, wie diese bedingte in meiner App zu tun.
Hier ist meine App-Code:
class App extends React.Component{
constructor(props) {
super(props);
console.log(this.props.children.type.name);
}
render() {
const loginRender = this.props.children.type.name == "LoginPage";
const appRender = this.props.children.type.name != "LoginPage";
return (
{loginRender(
<div className="app-container">
{this.props.children}
</div>
)}
{appRender(
<div className="app-container">
<Header />
<Sidebar />
<Middle app={this.props.children}/>
</div>
)}
);
}
}
export default App
Ich weiß nicht, ob this.props.children.type.name benutzen Sie die Loginpage beste Weg, oder eine gute pratice ist.
ich Ihnen hier und sagen, ob ich –
bekam versuche ich bin nicht Login bekommen und App-Seite gehe, kann ich meine Frage bearbeiten für Sie versuchen, mir zu helfen? –
versuchen, console.log (auth.loggedIn()) in jeder Funktion und sehen, was es zurückgibt. versuchen Sie auch, cb-Attribut und cb() aus den Funktionen –