继电器 - 现代片段范围内QueryRenderer



有可能吗?我们可以在查询者外使用FragmentContainer吗?我想实现的目标:我有一个带有SectionListRefetchContainer。每个部分中的每个项目都是FragmentContainer。当我从部分中选择一个项目时,我想打开一个新屏幕,其中显示了这些项目的FlatList。我从SectionList选择的项目选择中传递的数据是FragmentContainer的列表。因此,我看不到数据,因此我需要使用片段。如果我仅在FlatList内使用片段,则会从RelayFragmentContainer中获得丢失的环境。因此,我在FlatList中添加了一个QueryRenderer作为父,我再次请求同一单部分。但这提出了额外的QueryRenderer请求。我想显示上一个屏幕中的数据。至少我将FragmentContainer的列表作为cacheconfig传递,然后从fetchQuery方法返回,但是,JSON与响应JSON的不同之处,因此它不是原始数据,而是__fragments,因此Relay无法分析它。

在这个问题中,您的组件和片段是什么样的,最好。也就是说,您可能需要使用@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

相关内容

  • 没有找到相关文章

最新更新