Как объединить обе среды для Relay Modern? - PullRequest
0 голосов
/ 09 июля 2019

Есть пример внедрения NetworkLayer с промежуточным программным обеспечением на стороне клиента для Relay Modern , который включает следующие строки:

const network = new RelayNetworkLayer([...])

С другой стороны, мои текущие настройки были взяты из здесь и включают следующее:

function fetchQuery(
  operation,
  variables
) {
  return fetch('/graphql', {
    method: 'POST',
    credentials: 'same-origin', // 启用 cookie
    headers: {
      'Content-Type': 'application/json',
    }, // Add authentication and other headers here
    body: JSON.stringify({
      query: operation.text, // GraphQL text from input
      variables,
    }),
  }).then(response => {
    return response.json()
  })
}

const network = Network.create(fetchQuery)

Как я могу объединить оба в один объект сеть (есть специальный конструктор или что-то в этом роде)?

Я бы хотел иметь поддержку как промежуточного программного обеспечения, так и запроса.

1 Ответ

0 голосов
/ 13 июля 2019

Просто используйте react-relay-network-modern

Это должно работать так же, как ваша функция fetchQuery:

import { urlMiddleware, RelayNetworkLayer } from 'react-relay-network-modern'

const network = new RelayNetworkLayer([
  urlMiddleWare({
    credentials: 'same-origin',
    headers: {
      'Content-Type': 'application/json'
    }
  })
])
...