reactjs - Reactjs / Graphql:在页面加载时停止执行graphql查询
问题描述
经过一番调试,我发现当页面加载时,React 正在执行以下查询:
export default graphql(Query, {
options: (props) => ({
variables: {
start: props.start,
end: props.end
}
})
)(Comp);
服务器的错误是“错误请求”,这似乎是因为 start 和 end 是空的,并且它们被分配为 Float!当然,这些变量将是空的;用户尚未输入值。
当我在 UI 中输入值并单击提交时,它工作正常。我只需要帮助弄清楚如何防止在页面加载时执行此查询。并且仅在单击提交按钮时执行。
解决方案
只需为hoc提供一个skip
函数:qraphql
export default graphql(Query, {
skip: ({ start, end }) => (!start || !end),
options: ({ start, end }) => ({
variables: { start, end }
})
})(Comp);
推荐阅读
- java - 程序启动时清除java swing表单的所有文本字段
- apache-kafka - 在 Kafka 中轮询消费者组滞后于 HTTP
- r - 创建一个指示最大值的列
- azure - ApplicationInsight:在 Azure 门户上查看跟踪和错误的位置
- python - 如何对迭代器进行压缩?
- powershell - 为什么`Get-Help tree`显示`Pester`主题
- uicollectionview - 拖动 UICollectionViewCell 时如何实现透明背景或圆角
- ios - UIButton 导致无法识别的选择器发送到实例
- node.js - this.props.SignupUser 不是我的 SignupComponent 文件中的函数 有什么问题?
- php - 如何按数字之和对一串数字进行排序