Потоковое реле типа createFragmentContainer - PullRequest
0 голосов
/ 13 ноября 2018

У меня почти нет идей, как передать современное реле типа createFragmentContainer.

Я получил это:

import { type RelayContext } from 'react-relay'

type Props = {
  relay: RelayContext
}

relay добавляется контейнером.

Компонент экспортируется следующим образом:

export default createFragmentContainer(
  Foo,
  graphql`
    fragment Foo_session on Session {
      foo {
        id
      }
    }
  `
)

Когда я использую этот компонент в каком-то другом компоненте (например, как это <Foo session={session} />), я получу эту ошибку:

Flow: Cannot create 'Foo' element because property 'relay' is missing in props [1] but exists in 'Props' [2]

1 Ответ

0 голосов
/ 13 ноября 2018

@ Борис У вас нет опоры relay в контейнере фрагментов, только в родительском, где вы будете распространять этот запрос. Там у вас будет relay реквизит, и вы наберете его.

Для компонента Foo вы можете ввести входящие данные, которые будут переданы от родителя. Например:

export default createFragmentContainer(
  Foo,
  session: graphql`
    fragment Foo_session on Session {
      foo {
        id
      }
    }
  `
)

у вас есть папка __generated__ с скомпилированным запросом, верно? Чтобы вы могли:

import type { Foo_session } from './__generated__/Foo_session.graphql';

type Props = {
  session: Foo_session
}

Надеюсь, это поможет:).

...