React / React-Native:我可以基于触发器在两个不同的组件中触发方法吗?

问题描述 投票:0回答:1

对于我正在制作的聊天应用程序,我有两个屏幕 - 一个显示带有通知飞艇的联系人以显示新消息,另一个屏幕显示与联系人的聊天。我的数据库在 supabase 上,他们提供订阅以查看数据库更改。每当用户收到新消息时,我都需要在聊天中显示该消息,并在联系人屏幕中显示通知飞艇。 从联系人屏幕中调用聊天屏幕

我在哪里放置订阅代码,以便我可以触发函数来执行我的两个操作? 这是订阅的代码。

Code to subscribe to DB changes

我尝试将订阅代码保留在聊天屏幕中,并使用作为道具传递的回调函数来更新联系人屏幕。但是,订阅仅在我打开聊天屏幕后运行。在我这样做之前,我得不到任何信息。

javascript reactjs react-native react-hooks supabase
1个回答
0
投票

结合@HamzaMushtaq 和@FanchenBao 的评论,我能够解决这个问题。这个想法是提升状态并处理 App.js 中的订阅。一旦发生变化,我就将上下文状态设置为 payload.new。我导入了这个上下文,钩子 useContext 允许我访问它的值。使用 useEffect,我可以监听上下文的变化并根据它触发我的方法。

© www.soinside.com 2019 - 2024. All rights reserved.