首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ReactJs、Redux、Firebase项目的一般问题

ReactJs、Redux、Firebase项目的一般问题
EN

Stack Overflow用户
提问于 2019-03-29 07:17:52
回答 1查看 74关注 0票数 -1

我有几个一般性的问题,我想得到一个答案…我自己在以下方面做了研究:

·firebase文档在设置firebase、redux、react状态时几乎没有成功。

·我知道firebase youtube频道的React和firebase设置的两部分视频系列,但没有任何关于将redux集成到该生态系统的内容。

·这个youtube上的视频已经有两年多的历史了,我不知道它们是否仍然适用(https://www.youtube.com/watch?v=p4XTMvagQ2Q)。

·我发现了一些与这种类型的设置相关的教程,但对我来说,它们似乎非常固执己见,我不知道这些设置是最优的还是具有反模式的(https://www.youtube.com/playlist?list=PL4cUxeGkcC9iWstfXntcj8f-dFZ4UtlN3https://github.com/tiberiuc/redux-react-firebase --直接来自参考资料部分中的redux文档,我可能是错的,但它似乎没有得到维护,其他的:https://github.com/prescottprue/react-redux-firebase,)。

·我试图联系slack社区中的#react,#redux,#react设计通道,但我不相信这些通道正在被使用。我是firebase的初学者,现在我需要一些指导,因为我正在尝试熟悉这个新的数据库…我的问题是:

·是否建议使用此repo来实现带有redux和react的firebase?https://github.com/FirebaseExtended/reactfire#using-the-firebase-js-sdk-in-react

·我应该像react & firebase的视频一样遵循firebase API方法的实现吗?也就是说,在组件的生命周期中调用我需要的每个方法,比如说:

代码语言:javascript
复制
componentDidMount() {
    firebase.auth().onAuthStateChanged(this.updateAuthState);
  }
代码语言:javascript
复制
     • and set my default state as such to create the store?:
代码语言:javascript
复制
const defaultState = {
  auth: {
    isAuth: firebase.auth().currentUser,
  },
};

我是否应该以某种方式将firebase db链接到redux操作,例如,使用react- redux -firebase库,或者只是为firebase设置一个配置文件并让redux独立运行。

最后,我目前在使用函数的每个组件中都导入了firebase,使用firebase的正确方式是什么?或者我应该遵循另一种方法,比如:https://www.robinwieruch.de/complete-firebase-authentication-react-tutorial/

上面的教程为所有与firebase相关的功能创建了一个类,并在需要的地方实例化该类。

非常感谢您提供的任何帮助,我将感谢任何可以帮助我的信息或资源。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-29 07:27:18

如果您使用的是基于类的方法,则必须在componentDidMount内部进行API调用,因此您在这方面做得很好。但是,我将API调用集成到redux存储中。这样所有的代码都在同一个地方。但是,如果您使用基于功能的组件和最新版本的React,则可以使用钩子。在这种情况下,API调用将进入useEffect内部。这样做效果更好,因为它充当componentDidMount和componentDidUpdate,为您节省了大量时间。

看起来你应该能够在你的父组件(大多数情况下是App.js)中提供所有组件的Firebase。该教程看起来像是一个很好的追随者。我已经使用了Django后端设置的同一个人。

最后但并非最不重要的一点是,您可以将默认值存储在reducer中。将API调用保留在您的操作中,并将默认值保留在reducer中,这样可以节省一些代码。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55408268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档