首页 > 解决方案 > 组件获得焦点时如何加载初始 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 }}
    />
  )
}

标签: react-nativewebview

解决方案


推荐阅读