2017-06-24 8 views
0

In Router Reaktion, wir tun es wie folgt aus:Wie Requisiten auf React Router-Komponente übergeben?

<BrowserRouter> 
    <Route path="/(:filter)?" component={App} /> 
</BrowserRouter> 

mit einer Komponente wie diese.

<MuiThemeProvider> 
    <QueryRenderer 
     environment={modernEnvironment} 
     query={graphql` 
     query appQuery($count: Int! $cursor: String) { 
      viewer { 
      ...TodoApp_viewer 
      } 
     } 
     `} 
     variables={{ count: 5, cursor:'' }} 
     render={({error, props}) => { 
     if (props) { 
      return <TodoApp viewer={props.viewer} />; 
     } else { 
      return <div>Loading</div>; 
     } 
     }} 
    /> 
    </MuiThemeProvider> 

Wie gebe ich es in einer Route? Ich dachte, es in einem var etwas wie folgt zuweisen:

var myComponent = <MuiThemeProvider> 
     <QueryRenderer ..../> </MuiThemeProvider> 

aber ich habe Requisiten passieren, wie Sie es sehen auf der if-Anweisung. Dies ist meine Lösung, die nicht funktioniert

Hilfe?

+0

Sie meinen 'Requisiten' in QueryRenderer' render'? – azium

+0

@azium Ich habe die Frage bearbeitet, ja. und übergeben Sie die Komponente zu reagieren Router –

+0

die Requisiten dort kommen aus Relais nicht von – azium

Antwort

0

Mit einem HOC?

class MuiThemeProviderContainer { 
    render() { 
    <MuiThemeProvider> 
     <QueryRenderer 
     environment={modernEnvironment} 
     query={graphql` 
      query appQuery($count: Int! $cursor: String) { 
      viewer { 
       ...TodoApp_viewer 
      } 
      } 
     `} 
     variables={{ count: 5, cursor:'' }} 
     render={({error, props}) => { 
      if (props) { 
      return <TodoApp viewer={props.viewer} />; 
      } else { 
      return <div>Loading</div>; 
      } 
     }} 
     /> 
    </MuiThemeProvider> 
    } 
} 

ReactDOM.render(
    <Switch> 
    <Route exact path='/' component={MuiThemeProviderContainer}/> 
    </Switch>, 
    mountNode 
); 
+0

übergeben werden nein das funktioniert nicht –

+0

Welche Fehler haben Sie? – soywod

Verwandte Themen