首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

TypeError: firestore.collection不是函数(React、Redux、Firestore)

TypeError: firestore.collection不是函数(React、Redux、Firestore)

这个错误通常发生在使用React、Redux和Firestore进行开发时,当尝试调用firestore.collection时,它被认为不是一个函数。这可能是由于以下几个原因导致的:

  1. 引入错误:请确保正确引入了Firestore库,并且已经正确初始化了Firestore实例。在React项目中,可以使用firebase库来初始化Firestore实例,并将其作为全局对象使用。
  2. 未正确绑定Firestore实例:在使用Redux进行状态管理的情况下,可能需要将Firestore实例绑定到Redux的store中,以便在组件中使用。确保在Redux的store配置中正确地将Firestore实例绑定到store中。
  3. 异步加载问题:如果在组件加载时尝试调用firestore.collection,可能会出现异步加载的问题。Firestore实例的初始化可能需要一些时间,因此在组件加载时可能还没有完全初始化。可以使用componentDidMount生命周期方法或React Hooks中的useEffect来确保在组件加载完成后再调用firestore.collection
  4. 命名冲突:确保没有其他变量或函数使用了firestore.collection的同名变量或函数。可能存在命名冲突导致firestore.collection被覆盖或修改了其类型。

总结: TypeError: firestore.collection不是函数(React、Redux、Firestore)错误通常是由于引入错误、未正确绑定Firestore实例、异步加载问题或命名冲突导致的。需要仔细检查代码,并确保正确引入Firestore库、正确初始化Firestore实例,并正确绑定到Redux的store中。另外,还需要注意异步加载的问题和可能的命名冲突。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

06-React状态管理 Redux(工作流程, 核心概念, 求和案例, 异步Action, React-Redux, 多状态管理, 纯函数, 高阶函数, Redux开发者工具)

Redux 简介 其实就是一个集中的状态管理技术, 类似于VueX, 以及后端的分布式配置中心, 在前端的文章里提后端,是不是不太好~, 但是能学习这个技术的人, 从简短的一句话中应该就已经简单的了解了这个技术...,random等不纯的方法 redux的reducer函数必须是一个纯函数 高阶函数 理解: 一类特别的函数 情况1: 参数是函数 情况2: 返回是函数 常见的高阶函数: 定时器设置函数 数组的forEach...()/map()/filter()/reduce()/find()/bind() promise react-redux中的connect函数 作用: 能实现更加动态, 更加可扩展的功能 Redux开发者工具...E:\js\react_redux> 打包完成后会生成一个build文件夹, 我记得Vue应该是dist npm -i serve -g 全局安装serve 当然, 真的上线也不是这么玩的, 一般前端上线都是挂在...> 进入到项目文件夹执行 serve build(文件名) 就可以启动一个服务 这样就可以访问了 并且React的图标也变为线上模式了,而不是debug模式了

2K20
  • 我们弃用 Firebase 了

    Firestore 的文档 / 集合架构:它迫使人们仔细考虑数据建模。它还反映了一个直观的导航方案。 Firestore 中的关系数据也是如此。...当然,也有 Firebase 模拟器,但它们很慢,也很难调试,而且普遍存在不足;经常会在负载不是很大的情况下出现意料之外的失败,而你可能期望有一个能够承受足够负载的、健壮的本地环境。...对于这个问题,K-Optional Software 几乎在同一时间收到了多个关于项目(不是我们的项目)的咨询请求,一切都表明,是 API 的突然变化造成了麻烦。...那看起来像是一个名为 dispatcherFunction 的函数,根据 eventName 切换到相应内部函数的调用。...其开发体验令人愉快,特别是行级安全,那与 Firestore 规则类似,但更为强大。Supabase 正基于 Deno 开发他们的无服务器函数套件,这表明他们对优秀的技术很重视。

    32.7K30

    2021高频前端面试题汇总之React篇

    React 事件机制 点我 复制代码 React并不是将click事件绑定到了div的真实DOM上,而是在...除此之外,冒泡到document上的事件也不是原生的浏览器事件,而是由react自己实现的合成事件(SyntheticEvent)。...另外冒泡到 document 上的事件也不是原生浏览器事件,而是 React 自己实现的合成事件(SyntheticEvent)。...HOC 自身不是 React API 的一部分,它是一种基于 React 的组合特性而形成的设计模式。具体而言,高阶组件是参数为组件,返回值为新组件的函数。...(1)HOC 官方解释∶ 高阶组件(HOC)是 React 中用于复用组件逻辑的一种高级技巧。HOC 自身不是 React API 的一部分,它是一种基于 React 的组合特性而形成的设计模式。

    2K00

    【React】211- 2019 React Redux 完全指南

    我们开始吧 :) 视频概述 Redux 要点 如果你更喜欢看视频而不是阅读,这个视频涵盖了如何在 React 应用中一步步添加 Redux: 视频地址:https://youtu.be/sX3KeP7v7Kg...使用 React-Redux 将数据连接到任何组件 使用 react-redux 的 connect 函数,你可以将任何组件插入 Redux 的 store 以及取出需要的数据。 ?...不过说实话:如果上面内容对你来讲不是复习的话,你需要在学 Redux 之前了解下 React 的 state 如何工作,否则你会巨困惑。...但不是自动的。我们需要在我们的组件使用 connect 函数来访问 store。 React-Redux Provider 工作机制 Provider 可能看起来有一点点像魔法。...应该 dispatch(increment()) ✅ 牢记 action 生成器是一个平凡无奇的函数。Dispatch 需要 action 是一个对象,而不是函数。

    4.3K20

    React Native+Redux开发实用教程

    本参考了《新版React Native+Redux打造高质量上线App》课程的部分讲解,更多关于React Native与Redux的实战技巧可在《新版React Native+Redux打造高质量上线...redux(必选) react-redux(必选):redux作者为方便在react上使用redux开发的一个用户react上的redux库; redux-devtools(可选):Redux开发者工具支持热加载...react-redux介绍 react-redux是Redux 官方提供的 React 绑定库。...react-redux提供了connect函数,connect是一个高阶函数,首先传入mapStateToProps、mapDispatchToProps,然后返回一个生产 Component 的函数(...; 并不是所有的state都适合放在store中,这样会让store变得非常庞大,如某个状态只被一个组件使用,不存在状态共享,可以不放在store中; 参考 新版React Native+Redux打造高质量上线

    4.5K20

    应用connected-react-router和redux-thunk打通react路由孤立

    redux 在我们开发过程中,很多时候,我们需要让组件共享某些数据,虽然可以通过组件传递数据实现数据共享,但是如果组件之间不是父子关系的话,数据传递是非常麻烦的,而且容易让代码的可读性降低,这时候我们就需要一个...到 react 应用 合并 reducer 在一个 react 应用中只有一个 store,组件通过调用 action 函数,传递数据到 reducer,reducer 根据数据更改对应的 state...redux 提供combineReducers辅助函数,将分散的 reducer 合并成一个最终的 reducer 函数,然后在 createStore 的时候使用。...组件不是一个“路由组件”,即组件并没有像这样渲染。...但是有一个问题,store.dispatch正常情况下,只能发送对象,而我们要发送函数,为了让store.dispatch可以发送函数,我们使用中间件——redux-thunk。

    2.4K00

    React Native+React Navigation+Redux开发实用教程

    为了帮助大家快速上手在React Native与Redux开发,在这本文中将向大家介绍如何在React Native中使用Redux?,以及一些必备基础以及高级知识。...本参考了《新版React Native+Redux打造高质量上线App》课程的部分讲解,更多关于React Native与Redux的实战技巧可在《新版React Native+Redux打造高质量上线...并不是一定要在最外层。实际上,你可以把一些复杂的子 reducer 拆分成单独的孙子级 reducer,甚至更多层。...当需要拆分数据处理逻辑时,你应该使用 reducer 组合 而不是创建多个 store; redux一个特点是:状态共享,所有的状态都放在一个store中,任何component都可以订阅store中的数据...; 并不是所有的state都适合放在store中,这样会让store变得非常庞大,如某个状态只被一个组件使用,不存在状态共享,可以不放在store中; 参考 新版React Native+Redux打造高质量上线

    4K10

    redux redux-toolkit 与 rematch 对比总结

    有同学反馈开发 ReactNative 应用时状态管理不是很明白,这个问题我之前刚接触 React 时也遇到过,看了好多文章和视频才终于明白,不得不说,React 及三方库这方面做的有点过于复杂了!...有人可能会说了,直接把状态保存到一个全局的 state 对象不是就可以了吗,为什么要用 redux 这么复杂!..."^1.4.0", redux 官方推荐通过 toolkit 使用 redux,以减少模板代码: Redux Toolkit 的本质是提供了一些工具函数,简化纯手写 Redux 代码的冗余逻辑,其中最重要的两个工具函数是...并且 example 状态管理例子从 0 开始:rematch react-redux https://github.com/reduxjs/react-redux "react-redux": "^...7.2.4", 这个库主要为 React/React Native 应用提供了 1 个组件和 2 个常用的钩子函数: Provider:Provider 是一个组件,该组件接收存储所有全局状态的 Store

    2.2K60

    React、Flux以及Redux小结

    因此,如果不是项目到达一定的规模,如果不是觉得不用框架开发起来很艰难,那就不需要使用flux框架。...当Store发生变化的时候,通常根组件(也可以不是根组件)会去获取新的store,然后更新state,然后利用React的单项数据流的特点一层层的向下传递state以更新view。..." // Action携带的字符串信息 }; Redux Action Creater 定义一个函数,用来自动生成Action,这个函数就叫做Action Creator const ADD_TODO...return new_state; } Redux subscribe() Store允许使用Store.subscribe方法设置监听函数,一旦State发生变化就自动执行这个函数 import {createStore...官网 redux中文文档 阮一峰react系列教程 imweb 浅谈 React、Flux 与 Redux

    66310

    react基础--2

    react-redux react-redux需要配合 redux使用,react-redux可实现 redux与react的连接 但需遵循如下规范: 1.所有UI组件都应该包裹一个容器组件,他们是父子关系...> ) } } 注意这里需要将store通过props的方式传给容器组件,而不是在容器组件里面直接引用 容器组件如何给ui组件传递状态?...需要给connect函数传递两个参数 第一个参数是给ui组件的状态,第二个参数是给ui组件的操作状态的方法 但这两个参数必须是函数,通过函数的返回值给到ui组件 如下 // 引入 ui 组件 import.../components/Count' // 引入connect用于连接ui组件与redux import { connect } from 'react-redux' // 该函数返回的对象中的key...不能使用 一些数组方法如 unshift,push直接对原参数进行修改 不是纯函数会影响redux对状态的改变 这样会造成数据不响应,不会更新到视图

    1.2K20

    前端高频react面试题

    Redux 原理及工作流程(1)原理 Redux源码主要分为以下几个模块文件compose.js 提供从右到左进行函数式编程createStore.js 提供作为生成唯一store的函数combineReducers.js...在差异计算算法中,React 能够相对精确地知道哪些位置发生了改变以及应该如何改变,这就保证了按需更新,而不是全部重新渲染。如果在短时间内频繁setState。...React 事件机制点我React并不是将click事件绑定到了div的真实DOM上,而是在document...除此之外,冒泡到document上的事件也不是原生的浏览器事件,而是由react自己实现的合成事件(SyntheticEvent)。...另外冒泡到 document 上的事件也不是原生浏览器事件,而是 React 自己实现的合成事件(SyntheticEvent)。

    3.4K20

    Redux原理分析以及使用详解(TS && JS)

    而不是直接通知其他组件,组件内部通过订阅 store 中的状态 state 来刷新自己的视图 1.4、Redux是什么?...很多人认为redux必须要结合React使用,其实并不是的,Redux 是 JavaScript 状态容器,只要你的项目中使用到了状态,并且状态十分复杂,那么你就可以使用Redux管理你的项目状态,它可以使用在...,每当state改变时,都会去调用这个函数 三、Redux中间件机制 Redux本身就提供了非常强大的数据流管理功能,但这并不是它唯一的强大之处,它还提供了利用中间件来扩展自身功能,以满足用户的开发需求...从简单的 react-thunk 到 redux-promise 再到 redux-saga等等,都代表这各自解决redux异步流管理问题的方案 4.1 、redux-thunk redux-thunk...如果这个action creator 返回的是一个函数,就执行它,如果不是,就按照原来的next(action)执行。

    4.5K30
    领券