使用 React Navigation 导航堆栈时重新渲染组件

2024-02-19

我目前正在使用react-navigation进行堆栈和选项卡导航。

每次用户导航到特定屏幕时是否可以重新渲染组件?我想确保重新运行componentDidMount()每次到达特定屏幕时,我都会通过调用适当的操作创建者从服务器获取最新数据。

我应该考虑什么策略?我很确定这是一种常见的设计模式,但我没有看到记录的示例。


如果您正在使用React Navigation 5.X,只需执行以下操作:

import { useIsFocused } from '@react-navigation/native'

export default function App(){

    const isFocused = useIsFocused()

    useEffect(() => {
        if(isFocused){
            //Update the state you want to be updated
        }
    }, [isFocused])

}

The 使用重点hook 检查屏幕当前是否处于焦点状态。它返回一个布尔值,即true当屏幕聚焦并且false当它不是时。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 React Navigation 导航堆栈时重新渲染组件 的相关文章

随机推荐

  • 使用 Python 自动填写 Web 浏览器表单

    问题 你好 我是一名初学者 正在尝试学习 Python 这是我的第一个项目我想编写一个脚本来自动填写调查问卷 我熟悉编码 并且我编写的大部分代码都是为了解决这个问题 我正在努力编写一个方法 该方法将点击问题 1中的按钮 1 或者按下任何给定
  • 我的 Android 应用程序中由 Theme.AppCompat 引起的 IllegalStateException

    当我尝试启动该应用程序时 出现 NPE 我不知道是什么原因造成的 该应用程序应在网站上显示地图 然后用户可以轻松地将他的位置输入到编辑文本中并将其提交到网页 这是我的代码 package com timbremer iimv import
  • 如何使用jquery在标题属性中添加换行符

    请在下面找到我的代码 该代码将鼠标悬停事件的工具提示添加到我的调查引擎中的字段中 我想要实现的是在工具提示中添加换行符 任何帮助是极大的赞赏 var j jQuery noConflict j choice31QID405 mouseove
  • 标准机器学习中的部分总和?

    我是函数式编程的新手 我有一项任务来计算列表的部分和 例如 psum 1 1 1 1 1 val it 1 2 3 4 5 整数列表 这是到目前为止我的代码 然而 在函数 psum2 L 中 我不知道如何遍历每个值并将它们相加 所以我只是打
  • C++:检查括号和方括号在字符串中是否平衡(逻辑问题)[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 检查字符串中的每个 是否都满足 或 检查字符串中的每个 是否与 或 匹配 例如 您永远不能拥有像这样的字符串 a a a a a 但是
  • 创建和连接 SQL Server 数据库的代码:有什么问题吗?

    我是 C 新手 或者我正在尝试以编程方式创建和打开 SQL Server 数据库 我有一个正在创建的 ASP NET Web 应用程序 在页面加载时它应该从数据库中提取一些数据 如果数据库不存在 则应该创建它并使用默认数据填充 PS C 的
  • 如何使用 Angular2 路由

    我正在尝试编写一个单页应用程序 但无法使路由正常工作 我尝试使用许多教程 但考虑到 Angular2 仍处于测试阶段 它们似乎很快就过时了 似乎只要我添加对路由器指令或路由器配置或路由器提供程序的任何引用 该应用程序就会停止工作 并且浏览器
  • 虚拟内存的最大大小可以是多少?

    我看到这个问题 虚拟内存 和 交换空间 有什么区别 https stackoverflow com questions 4970421 difference between virtual memory and swap space 这里提
  • Python - 列出函数值的组合对

    我有四个坐标的组合 我试图找到每个坐标之间的距离 我已经能够完成此操作 但是我无法让我的程序列出与每个距离相对应的坐标对 import itertools import math point1 1 1 0 5 point2 3 3 1 po
  • Android 按钮以 Java(而非 XML)编程方式显示状态

    如何为 state pressed 定义 Android 按钮图像 Java 中的 android state focused 例如 如何在 Java 中完成对来自 XML 的等效操作 http developer android com
  • 按最高值对 n 个项目进行多维自定义排序

    我目前可以使用自定义排序方法对多维数组进行排序 每个数组lineupSet has an n物品数量 功能sort points将对每个进行排序lineupSet从最高到最低totalPoints然后它会给我lineupSet总数最高tot
  • 防伪令牌无法解密

    我在 Azure 中部署了一个身份服务器 asp net core 项目 我还有两个使用我的身份服务器作为 SSO 的 asp net 5 mvc 客户端 并且不断出现 保存在日志中 异常 防伪令牌无法解密 今天我们遇到了类似的问题 我们能
  • 如何中止宏

    我有一个宏可以遍历目录并查看其所有文件 不幸的是 该目录位于映射的网络驱动器上 因此该过程非常慢 我怎样才能杀死宏 You can stop a macro by pressing the keys ctrl alt break
  • 播放 UDP 数据包中收到的原始 PCM 音频

    远程设备正在 UDP 数据包中发送实时原始 PCM 音频 不包含标头 我需要在 java 中实现一个程序来接收这些数据包并在 PC 上实时播放它们 据我所知 原始 PCM 的属性是 16 位 单声道 采样率 24KHz 因此我尝试向该原始
  • 创建本地用户帐户

    我有这个代码来创建本地Windows用户 public static bool CreateLocalWindowsAccount string username string password string displayName str
  • 如何修复 Visual Studio 2015 运行项目时出现异常 Microsoft.vshup.server.httphostx64.exe 已停止工作

    我安装了 Visual Studio Community 2015 并创建了一个项目 但是当我运行该项目时 出现以下异常 Microsoft vshup server httphostx64 exe 已停止工作 我使用的是 Windows
  • 如何知道 CompletionService 何时完成交付结果?

    我想使用 CompletionService 来处理一系列线程的结果当它们完成时 我让该服务处于循环状态 以在其提供的 Future 对象可用时获取它们 但我不知道确定所有线程何时完成 从而退出循环 的最佳方法 import java ut
  • 为什么在C中使用malloc时要指定大小?

    采取以下代码 int p malloc 2 sizeof p p 0 10 Using the two spaces I p 1 20 allocated with malloc before p 2 30 Using another sp
  • 对已知已完成的任务调用 .Result 或await 之间有区别吗? [复制]

    这个问题在这里已经有答案了 以下代码块中是否存在任何功能 性能或死锁风险差异 示例1 await Task WhenAll task1 task2 var result1 await task1 var result2 await task
  • 使用 React Navigation 导航堆栈时重新渲染组件

    我目前正在使用react navigation进行堆栈和选项卡导航 每次用户导航到特定屏幕时是否可以重新渲染组件 我想确保重新运行componentDidMount 每次到达特定屏幕时 我都会通过调用适当的操作创建者从服务器获取最新数据 我