Как передать значение корневому запросу в реакции-маршрутизатор-реле

Предположим, что у меня есть следующий корневой запрос в ретрансляторе с проектом act-router-relay:

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

Начальная стоимость $number приходит с сервера как скрытый ввод, и я хочу использовать этот номер в своем первом запросе к серверу. Как я могу пройти $number на мой запрос, используя текущий API реагировать-маршрутизатор-реле? Это ни queryParam или же stateParam,

1 ответ

Вы должны быть в состоянии сделать что-то вроде:

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')
);

prepareParams был добавлен в реакции-маршрутизатор-реле в v0.6.2. Приведенный выше синтаксис должен работать для этого или v0.7.0 (текущий выпуск), а также.

Другие вопросы по тегам