无法读取未定义的 属性 'skip'

Cannot read property 'skip' of undefined

我正在使用 react-apollo 进行 graphql 查询。我想为类别显示一个对象,为此我需要一个 id 我可以从 navigation.state.params.id 得到。我执行了以下操作,但出现 "Cannot read property 'skip' of undefined " 错误。我应该如何解决这个问题?

这是我的代码

class CategoryDetail extends React.PureComponent {
  render() {
    console.log("props in detail", this.props);
    return (
      <View style={{ flex: 1 }}>
        <Text>Category View</Text>
      </View>
    );
  }
}

const CATEGORY_DETAIL_QUERY = gql`
  query CATEGORY_DETAIL_QUERY($id: ID!) {
    category(id: $id) {
      id
      name
    }
  }
`;

export default graphql(CATEGORY_DETAIL_QUERY, {
  options: props => {
    variables: {
      id: props.navigation.state.params.id;
    }
  },
})(CategoryDetail);

Skip 是 Apollo 检查的选项之一。在您的代码中,选项函数没有 returning 任何东西。

箭头函数 return => 之后的内容,除非它是一个 {} 块,在这种情况下,return 将在声明的函数体内定义。如果你想 return 一个对象,它与代码块共享相同的语法,你需要将它包装在 () 中。

options: props => ({ variables: ... })