开发者问题收集

无法读取未定义的属性“skip”

2017-11-08
10405

我正在使用 react-apollo 进行 graphql 查询。我想显示类别的单个对象,因此我需要一个 id 我可以从 navigation.state.params.id 获取。我做了以下操作,但收到错误“无法读取未定义的属性‘skip’”。我应该如何解决这个问题?

这是我的代码

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个回答

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

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

options: props => ({ variables: ... })
Bear-Foot
2017-11-08