【问题标题】:How do I update the tab bar badge in React-Native using react-navigation without the navigation being reloaded?如何在不重新加载导航的情况下使用 react-navigation 更新 React-Native 中的标签栏徽章?
【发布时间】:2021-10-14 11:01:03
【问题描述】:

我正在开发一个 React-Native 应用程序,并希望开始添加一些额外的功能,例如用于未读通知和消息计数的标签栏徽章。

我将 react-navigation 用于标签栏,并将 redux 用于我的状态存储。我的通知和消息状态中有一个未读计数,我正在检索并使用它来显示导航器中当前的标签栏徽章。

我遇到的问题是,如果用户点击消息或通知(将其标记为已读),我想减少未读计数。当我这样做时,它会重新加载导航,将用户从他们当前所在的屏幕返回到主导航。

我创建了一个显示问题的零食,让通知和消息详细信息屏幕有一个减少未读计数的按钮。

https://snack.expo.dev/@simplytrak/tab-bar-badges

如何让用户在当前屏幕上同时更新标签栏上的徽章?

【问题讨论】:

    标签: react-native expo react-navigation


    【解决方案1】:

    您正在AppNavigator 组件内创建组件。你需要把它们移到外面。

    有时您可能已经注意到您的屏幕卸载/重新安装,或者您的本地组件状态或导航状态在您导航时重置。如果您在渲染期间创建 React 组件,则可能会发生这种情况。

    https://reactnavigation.org/docs/troubleshooting/#screens-are-unmountingremounting-during-navigation

    【讨论】:

    • 谢谢,@satya164 辛苦了,我将每个导航部分分解成自己的组件!
    猜你喜欢
    • 2019-01-01
    • 2019-11-27
    • 1970-01-01
    • 1970-01-01
    • 2021-06-02
    • 1970-01-01
    • 2017-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多