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

时间:2017-11-08 09:40:18

标签: javascript reactjs graphql react-apollo

我正在使用react-apollo进行graphql查询。我想为类别显示一个对象,所以我需要一个id 我可以从navigation.state.params.id获得。我做了以下但我得到一个错误“无法读取属性'跳过'未定义”。我该如何解决这个问题?

这是我的代码

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);

1 个答案:

答案 0 :(得分:2)

Skip是Apollo检查的选项之一。在您的代码中,options函数没有返回任何内容。

箭头函数返回后面的内容=&gt;除非它是一个{}块,在这种情况下,返回将在声明的函数体内定义。如果要返回一个与代码块具有相同语法的对象,则需要将其包装在()中。

client.DefaultRequestHeaders