首页 > 解决方案 > React 中继字符串被读取为连接过滤器上的枚举

问题描述

我有这个paginationFragment,它需要接受一个上下文变量作为过滤器。我已经确认类型是使用 console.log('type', typeof dispContext, 'value', dispContext)which 返回string的字符串,并且字符串很简单,例如"ALL. 然后我尝试将该字符串传递到我的filter, 使用filters: [dispContext]. 然后我得到一个错误说argument 'filters[0]' with value 'EnumValue{name='dispContext'}' is not a valid 'String' - Expected AST type 'StringValue' but was 'EnumValue

我忽略了什么错误?这是我的分页片段

 const {
data,
loadNext,
loadPrevious,
hasNext,
hasPrevious,
isLoadingNext,
isLoadingPrevious,
refetch, // For refetching connection
} = usePaginationFragment(
graphql`
  fragment TableListComponent_advisor on Advisor
  @refetchable(queryName: "AdvisorDashboardAssignmentsQuery")
  @argumentDefinitions(
    count: { type: "Int", defaultValue: 20 }
    cursor: { type: "String" }
  ) {
    assignments(first: $count, after: $cursor)
      @connection(key: "TableListComponent_advisor_assignments", 
      filters: [dispContext]) { <====== HERE IS PROBLEM <====
      edges {
        node {
          id
          ...TableRowComponent_lead
        }
      }
    }
  }
`,
advisor
 );
 const leads = data.assignments.edges;

标签: reactjsrelay

解决方案


推荐阅读