Использование graphql` в Relay.createContainer

У меня есть конкретный вариант использования, когда я хочу использовать новый graphqlbabel transform since it provides graphql query name lookup but without createFragmentContainer. Is there any way to write a converter from gaphql в Relay.QL`?

Я посмотрел на вывод Relay.QLand graphql, но не смог найти хороший способ конвертировать graphqlto Relay.QL

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Что такое Apollo Client и зачем он нужен?
Что такое Apollo Client и зачем он нужен?
Apollo Client - это полнофункциональный клиент GraphQL для JavaScript-приложений, который упрощает получение, управление и обновление данных в...
0
0
44
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я понял это вот образец кода, который я написал

const convertToClassicQuery = query => query.classic(RelayQL_GENERATED).node;

Вот небольшая библиотека для преобразования createContainer для приема современных запросов ретрансляции.

import Relay from 'react-relay/classic';

const RelayQL_GENERATED = require('react-relay/classic').QL; // eslint-disable-line

const convertToClassicQuery = query => query.classic(RelayQL_GENERATED).node;

const convertFragments = fragments => _.mapValues(fragments, fragment => () => convertToClassicQuery(fragment()));

const convertFragmentProps = (fragmentProps) => {
  fragmentProps.fragments = convertFragments(fragmentProps.fragments); // eslint-disable-line
  return fragmentProps;
};
const createContainer = (Component, fragmentProps) => Relay.createContainer(Component, convertFragmentProps(fragmentProps));


module.exports = {
  createContainer,
};

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