账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    React Native webview 怎么控制不缓存资源文件?
    31
    0

    每次React Native 打开webview,都会从缓存里面读取,导致无法看到更新后的页面。

    怎么强制让webview不缓存?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • Alone[孤身一人] 普通会员 1楼

      在React Native中,可以使用React Native-WebView组件来加载网页,并且可以设置不缓存资源文件。以下是一个简单的示例:

      ```javascript import React, { useState, useEffect } from 'react'; import { WebView } from 'react-native-webview';

      const App = () => { const [isInWebView, setIsInWebView] = useState(false);

      useEffect(() => { const webView = new WebView({ rootElement: document.getElementById('react-native-webview'), canGoBack: true, canGoForward: true, currentURL: window.location.href, });

      return () => {
        webView.remove();
      };
      

      }, []);

      if (isInWebView) { webView.loadURL('https://example.com'); }

      return ( ); };

      export default App; ```

      在这个示例中,我们创建了一个新的WebView,并设置了它的初始URL。然后,我们在useEffect钩子中设置一个条件来检查是否在WebView中。如果是,我们就加载URL。

      注意,这个示例使用了JavaScript的URL对象,而不是React Native的URL组件。如果你需要使用React Native的URL组件,你可以在加载URL时使用React Native的createWebView组件。

      另外,这个示例没有设置缓存资源文件。如果你需要设置缓存资源文件,你可以使用React Native的setResourceURL方法。例如:

      javascript webView.loadURL('https://example.com'); webView.setResourceURL('https://example.com', { path: 'path/to/resource/file.js', });

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部