Das bestehen der staatlichen als Requisiten von den Eltern auf das Kind Reagieren-Router?
Ich habe mit Reagieren-Router für die letzten paar Tage und Iv ' E worden, es zu lieben! Ein problem, dass Iv ' E worden, habe, ist, dass ich kann nicht herausfinden, der beste Weg, um pass state von meinem übergeordneten Komponente, um mein Kind Komponente. Iv 'E worden, einige stack-überlauf und blog-posts, aber ich kann nicht scheinen, um herauszufinden, was Iv' E wollte. Hier ist ein sehr über Vereinfachtes Beispiel über das, was ich Suche.
class App extends React.Component {
constuctor(props) {
super(props);
this.state = {name:"helloworld", lastname:"world hello"};
}
render() { //SOMETHING LIKE THIS WOULD BE PREFFERED
if (this.props.children.name == "Home") {
{this.props.children myname={this.state.name}}
}
else if (this.props.children.name = "Account") {
{this.props.children anotherprop={this.state.lastname}}
}
}
}
class Home extends React.Component {
render() {
return (
{this.props.myname}
);
}
}
class Account extends React.Component {
render() {
return (
{this.props.lastname}
);
}
}
//ROuting config - (Only the routes not the config)
<Route path="/" component={App}>
<IndexRoute component={Home} />
<Route path="account" component={account} />
</Route>
Offensichtlich ist dies eine sehr vereinfachte version von dem, was ich bin versucht zu erreichen, aber ich hoffe, Sie bekommen das Bild.
TLDR: Wie kann ich die pass-Status von den Eltern auf das Kind als Requisiten? Gibt es eine Möglichkeit, dies zu tun über die übergeordnete Komponente?
Jede Hilfe wäre sehr geschätzt werden!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Alles, was ich Tat, um dies zu beheben wurde die Verwendung der cloneElement zu erstellen, die ein Klon, und ich konnte meinen Zustand Requisiten, um diesen Klon:
Können Sie Rahmen die übergabe von Daten von übergeordneten an untergeordnete Komponente. Bitte beziehen Sie sich beispielsweise auf https://facebook.github.io/react/docs/context.html
Diese perfekt funktioniert, selbst wenn Sie reagieren-router, ich benutze es in meiner Anwendung.
lufte - wenn Sie Ihre original-code sah so aus:
dann der überarbeitete code mit Daten übergeben, die auf die Komponente der Kinder wäre: