0

現在動作中の React/Relay アプリがあり、react-router-relay を使用してルーティングを追加したいと考えています。可能な限り最小限の変換を試みると、次のコードを参照してください。ログに理解できないエラーが表示されます。

import 'babel/polyfill';
import TodoApp from './components/TodoApp';

import { Router, Route } from 'react-router';

import ReactRouterRelay from 'react-router-relay';
import TodoAppHomeRoute from './routes/TodoAppHomeRoute';

/*

This section works perfectly

ReactDOM.render(
  <Relay.RootContainer Component={TodoApp} route={new TodoAppHomeRoute()} />,
  document.getElementById('root')
);
*/


//This breaks every time.
ReactDOM.render(
  <Router
    createElement={ReactRouterRelay.createElement}>
    <Route
      path="/"
      component={TodoApp}
      queries={new TodoAppHomeRoute().queries} // and the query
      />
  </Router>,
  document.getElementById('root')
);

この質問を表現する別の可能な方法は次のとおりです: プレーンなバニラ Relay の RelayRoutes.queries と react-router-relay のルートのクエリを指定する適切な方法の違いは何ですか?

4

3 に答える 3

1

Chris の答えがうまくいかなかった場合、@cpojer がルートとリレーに関する非常に素晴らしい投稿をここに書いています: https://medium.com/@cpojer/relay-and-routing-36b5439bad9

于 2015-09-28T22:26:48.837 に答える
0

new TodoAppHomeRoute().queriesそれが犯人だと思います。私の推測では、おそらく静的プロパティです。これを試してくださいTodoAppHomeRoute.queries

それでもうまくいかない場合は、次のコードを見てみましょうTodoAppHomeRoute

于 2015-09-28T03:15:03.637 に答える