2016-12-12 4 views
7

コンテキストフォースは、現在反応ネイティブプロジェクトであるHTML & JS重いプロジェクトの作業のWebView

のキャッシュされたバージョンを無視するためにネイティブのWebビューを反応します。すべてのHTML & JSはローカルで参照されます(httpで何も表示されません)。

問題

私はHTMLやJSに変更を加えるたびに、私は(ネイティブコードをリフレッシュするか、もう一度それを実行した後に)変更内容が表示されていないので、私は完全にアプリをアンインストールすることを強制しています。

質問

これらのファイルのキャッシュされたバージョンを無視する方法はあり

が、私はこのトピックに関する任意の有効なリソースなので、任意のフィードバックを発見していない(と仮定していますキャッシングメカニズムが存在します)大変感謝しています。

答えて

1

React NativeのWebViewコンポーネントを使用してHTMLとJavaScriptをレンダリングすることを前提としています。このコンポーネントはネイティブのUIWebViewコンポーネントとWebViewコンポーネントに依存しているため、RN WebViewと同じ手順でRN WebViewを変更できます。たとえば、iOSのケースでは、次の操作を実行できます。

[[NSURLCache sharedURLCache] removeAllCachedResponses]; 
[[NSURLCache sharedURLCache] setDiskCapacity:0]; 
[[NSURLCache sharedURLCache] setMemoryCapacity:0]; 

あなたはAppDelegate.mあなたのdidFinishLaunchingWithOptions方法でそのコードを置くことができます。 this answerに基づいています。

WebViewのインスタンスにアクセスできない場合(this answerによる)、Androidのケースではキャッシュにアクセスできないため、RN WebViewのコードを使用して独自のWebViewを作成することができます機能性。それは見えるほど複雑ではありません。

0

アンドロイドの場合、[ストレージ]の[アプリ情報]設定でキャッシュをクリアできます。 WebViewに表示しているリソースを強制的にリロードする方法です。

+0

これはもっと早い選択肢かもしれませんが、私はRNプロジェクト自体で設定を見つけることを望んでいました。 – ElliotM

関連する問題