0

react-router-relay プロジェクトを使用したリレーに次のルート クエリがあるとします。

export default {
  calc: () => Relay.QL`query queryType ($number: String) { auth (number: $number) }`,
}

の初期値は$number非表示の入力のようにサーバーから取得され、サーバーへの最初のクエリでこの数値を使用したいと考えています。$number現在の react-router-relay API を使用してクエリに渡すにはどうすればよいですか? これはqueryParamまたはではありませんstateParam

4

1 に答える 1

2

次のようなことができるはずです。

import {createHistory} from 'history';
import React from 'react';
import ReactDOM from 'react-dom';
import {Route, Router} from 'react-router-relay';
import MyComponent from './components/MyComponent';
import MyComponentQueries from './routes/MyComponentQueries';

function addAuthParam(params, route) {
  return {
    ...params,
    number: 'SECRET',
  }; 
}

ReactDOM.render(
  <Router
    history={createHistory()}
    createElement={ReactRouterRelay.createElement}>
    <Route
      component={MyComponent}
      path="/thing/:id"
      prepareParams={addAuthParam}
      queries={MyComponentQueries}
    />
  </Router>,
  document.getElementById('relay-root')
);

prepareParamsv0.6.2 で react-router-relay に追加されました。上記の構文は、それまたは v0.7.0 (現在のリリース) でも機能するはずです。

于 2015-10-21T22:12:59.237 に答える