为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Firestore 查询中有条件地呈现“Where”语句?

如何在 Firestore 查询中有条件地呈现“Where”语句?

拉风的咖菲猫 2023-08-10 14:36:56
在下面的代码中是否可以有条件地渲染Where语句(基于现有的变量)?useEffect(() => {        const getProducts = projectFirestore.collection(collection)            .where("color", "==", `${urlColor}`)            .where("size", "==", `${urlSize}`)            .onSnapshot((snap) => {                ...            })            return () => getProducts();    },[collection])    return { docs };}我从 URL 参数中提取“urlColor”和“urlSize”,但它们仅在用户选择该选项时才存在。我想要这样的功能if (urlColor && .where("size", "==", `${urlSize}`))非常感谢任何帮助,马特
查看完整描述

1 回答

?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

是的,您只需要在此过程中保存一个临时变量。


useEffect(() => {

  let query = projectFirestore.collection(collection)


  if (urlColor) {

    query = query.where("color", "==", `${urlColor}`);

  }


  if (urlSize) {

    query = query.where("size", "==", `${urlSize}`)

  }


  const unsubscribe = query.onSnapshot((snap => {

    ...

  });


  return () => unsubscribe();

});


查看完整回答
反对 回复 2023-08-10
  • 1 回答
  • 0 关注
  • 87 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信