react-native - 组件获得焦点时如何加载初始 webview URL?
问题描述
我的应用程序中有一个屏幕,配置了抽屉导航器,它只在 web 视图中显示一个网页。由于路线是使用抽屉导航器设置的,如果用户离开此屏幕然后返回,它将以离开时离开时相同的方式显示内容。但是,我需要当他返回此组件时,始终显示为主页配置的 URL。
我试过使用useFocusEffect
,但没有用。它始终显示用户上次浏览组件时离开的 url。
这是实现的组件。
import React, { useState } from 'react'
import WebView from 'react-native-webview';
import { useFocusEffect } from '@react-navigation/native';
import { ENDPOINTS } from '../../configs/env.json';
export function QuizWeb() {
const [url, setUrl] = useState(ENDPOINTS.QUIZ_WEB);
useFocusEffect(
React.useCallback(() => {
setUrl(ENDPOINTS.QUIZ_WEB);
}, [])
);
return (
<WebView
style={{ flex: 1 }}
source={{ uri: url }}
/>
)
}
解决方案
推荐阅读
- numpy - 在python中加速欧几里得距离
- jquery - 如何在第一次单击时选中复选框
- c# - ListBox 的 Refresh 方法不会触发 DrawItem 属性的事件处理程序
- node.js - 我正在尝试从 DynamoDB 表中获取单个属性并在回调之前将它们转换为变量
- python - 为什么会低于 0
- javascript - 无法将 javascript 代码集成到我的 html 中
- python-2.7 - pool.map 函数出错:'ValueError:`x` 必须包含至少 2 个元素'
- matplotlib - 将外部库添加到 Skulpt 时出现“路径错误”
- python - 如何将字典值转换为字典集
- c++ - 为什么 --string::end() 编译但 --string.size() 不编译?