가능합니까? FragmentContainer
을 QueryRenderer 외부에서 사용할 수 있습니까? 달성하고자하는 것 : 나는 RefetchContainer
에 SectionList
을 가지고 있습니다. 각 섹션의 모든 항목은 FragmentContainer
입니다. 섹션에서 항목을 선택하면이 항목 중 FlatList
을 표시하는 새 화면을 열려고합니다. 항목 선택의 SectionList
에서 전달한 데이터는 FragmentContainer
의 목록입니다. 따라서 데이터를 볼 수 없으므로 조각을 사용해야합니다. FlatList
안에 조각을 사용하면 RelayFragmentContainer
에서 누락 된 환경이 발생합니다. 그래서 동일한 단일 섹션을 다시 요청하는 FlatList
에 대한 부모로 QueryRenderer를 추가했습니다. 그러나 이것은 QueryRenderer
요청을 추가로 만듭니다. 이전 화면의 데이터를 표시하고 싶습니다. 최소한 FragmentContainer
의 목록을 cacheConfig로 전달하고 fetchQuery
메서드에서 반환하지만 json은 응답 json과 다르므로 원시 데이터가 아니지만 이미 __fragments
이므로 Relay
은 구문 분석 할 수 없습니다.Relay-Modern FragmentContainer 외부 QueryRenderer
0
A
답변
1
구성 요소와 조각이 어떻게 생겼는지에 대한 몇 가지 코드 예제를 얻는 것이 좋습니다. 즉, @mask
지시문을 사용하여 조사 할 수 있습니다.
나는 릴레이 문서에서 예를 촬영하고 여기에 포함했습니다
module.exports = createFragmentContainer(
({ user }) => ...,
graphql`
fragment Component_user on User {
internUser {
manager {
...Component_internUser @relay(mask: false)
}
.... on Employee {
admins {
...Component_internUser @relay(mask: false)
}
reports {
...Component_internUser @relay(mask: false)
}
}
}
}
fragment Component_internUser on InternUser {
id
name
}
`,
);
조각이 조각을 호스팅하는 구성 요소에서 사용할 수에서 @mask
데이터가 포함 된 사용하여. 이에 대한 릴레이 문서는 다음에서 볼 수 있습니다. https://facebook.github.io/relay/docs/relay-directives.html#relay-mask-boolean
오 고마워요! 이것은 내가 찾고 있던 100 %가 아니지만, 여기서 달성하기를 기대했던 것보다 더 많은 것을 제공합니다! 정말 고맙습니다! – parohy