如何在条件满足时从 useLazyQuery 获取触发器?

huangapple go评论66阅读模式
英文:

RTK Query: How can I get trigger from useLazyQuery conditionally?

问题

如何在条件满足时从 useLazyQuery 获取触发器?
const [trigger] = props.useLazySearchQuery();
我的目标是只有在 props 中收到 useLazySearchQuery 时才获取触发器。
当然,我可以这样做 const [trigger] = props.useLazySearchQuery && props.useLazySearchQuery();
但如果 prop 未定义,将会引发错误。

英文:

How can I get trigger from useLazyQuery conditionally?
const [trigger] = props.useLazySearchQuery();
My goal is to get trigger only if useLazySearchQuery is received in props.

Of cource I can do const [trigger] = props.useLazySearchQuery && props.useLazySearchQuery();
But if prop will be undefined it will cause error.

答案1

得分: 0

我找到了解决方案:

const trigger = props.useLazySearchQuery ? props.useLazySearchQuery()[0] : null;

然后

trigger &&
      trigger({ value })
        .unwrap()
英文:

I found solution:

const trigger = props.useLazySearchQuery ? props.useLazySearchQuery()[0] : null;

Then

trigger &&
      trigger({ value })
        .unwrap()

huangapple
  • 本文由 发表于 2023年5月30日 00:29:49
  • 转载请务必保留本文链接:https://go.coder-hub.com/76358936.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定