程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在多个组件中监听 on(child_ added) - React Native大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决在多个组件中监听 on(child_ added) - React Native?

开发过程中遇到在多个组件中监听 on(child_ added) - React Native的问题如何解决?下面主要结合日常开发的经验,给出你关于在多个组件中监听 on(child_ added) - React Native的解决方法建议,希望对你解决在多个组件中监听 on(child_ added) - React Native有所启发或帮助;

我正在尝试使用 React Native 和 firebase 构建即时消息应用程序。问题是查询新收到的消息,当用户打开聊天屏幕时效果很好(使用 on('child_added').limitTolast(1) 避免多次不必要的调用)。但是,如果用户离开聊天并随后收到多条消息,则所有收到的消息都不会添加到聊天日志中,因为聊天组件仅针对添加的最新子项运行。我如何确保应用程序监听所有 child_added 而不管用户在哪个屏幕?我不认为在每个组件中都实现 on('child_added') 是一个好主意,因为如果用户在收到消息时在聊天和另一个屏幕之间导航,它可能会创建同一消息的多个副本。

解决方法

您有 2 个选项,或者使用循环附加侦听器,我的意思是创建一个循环并一个接一个地将侦听器附加到所有必需的节点。但我想没有人会喜欢它。

所以第二种方法是您可以使用来自发送方的 Firebase 云消息传递和发送消息,并且在接收方应用程序的 onMessgeReceived 中,您可以检索从发送方传递的任何数据。即使应用程序未运行,这也有助于您获得通知等更新。

,

在 React 应用中,我通常要么lift the state up 到两个屏幕共享的高级组件。

但在其他框架中,我有时会创建一个单独的“类”来管理此类场景中的侦听器。然后,您可以从需要访问数据的每个组件访问此类,它可以管理侦听器和来自这些侦听器的数据。

React 也有很多用于此类统计管理的框架,因此您可能需要考虑研究 https://redux.js.org/ 或 others。

大佬总结

以上是大佬教程为你收集整理的在多个组件中监听 on(child_ added) - React Native全部内容,希望文章能够帮你解决在多个组件中监听 on(child_ added) - React Native所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: