React.js / Graphql:页面加载时停止执行graphql查询

时间:2018-10-30 22:14:23

标签: reactjs react-native graphql react-apollo graphql-js

经过调试后,我发现页面加载时,React正在执行以下查询:

export default graphql(Query, { 
    options: (props) => ({ 
        variables: { 
            start: props.start,
            end: props.end
        } 
    })         
)(Comp);

来自服务器的错误是“错误请求”,这似乎是因为开始和结束为空,并且它们被分配为Float!当然,这些变量将为空。用户尚未输入值。

当我在UI中输入值并单击“提交”时,它工作正常。我只需要帮助弄清楚如何防止在页面加载时执行此查询。并且仅在单击提交按钮时执行。

1 个答案:

答案 0 :(得分:2)

只需为skip提供一个qraphql函数:

export default graphql(Query, {
  skip: ({ start, end }) => (!start || !end),
  options: ({ start, end }) => ({
    variables: { start, end }
  })
})(Comp);