問題タブ [react-loadable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
43 参照

javascript - Javascript: クロージャーを使用した反応ローダブルの一般化

ビューをロードするためにreact-loadableを使用しています。以下のコードは正常に動作します。

しかし、私は複数のビューを持っているので、パス文字列を変数に置き換えて上記のコードを一般化 (リファクタリング) したいと考えています。そして、そこから問題が始まります。私は次のテクニックを試しましたが、ターゲットビューをロードしません。代わりに、単に 'Loading...' 文字列を含む一時的なビューであるLoadingビューを保持します。

何か不足していますか?ありがとう。

0 投票する
2 に答える
1228 参照

javascript - ストリームからの JavaScript モジュールの動的インポート

目標:モジュールの名前が開発ツールで識別されたとしても、コンソール経由で正常にインポートできないなど、一部のセキュリティまたは定義されたユーザー ロール要件を条件とする Javascript モジュールの動的読み込みをサポートすること。

ここに画像の説明を入力

ここに画像の説明を入力

ここに画像の説明を入力

JavaScript モジュールは、Firebase (#AskFirebase) などのクラウド ストレージ サービスに簡単にアップロードできます。コードfirebase.functions().httpsCallable("ghost");は、カスタム クレームまたは同様のテストの存在に基づいて、Firebase Cloud Function を使用して条件付きで取得できます。

結局やりたいことは…

...は、webpack 化された React コンポーネントをクラウドに配置し、サーバー側のセキュリティ チェック後に条件付きでクライアントにダウンロードimport()し、ユーザーのクライアント環境にダウンロードしてレンダリングします。

Javascript をクラウドに保存し、条件付きでクライアントにダウンロードするのは簡単です。クライアントで webpack 化されたコードを取得したら、それを使用Function(downloadedRestrictedComponent)してユーザーの環境に追加することができますimport('./RestrictedComponent')が、理解できないのは、コンポーネントからデフォルトのエクスポートを取得して実際にレンダリングできるようにする方法です。事。

import(pathToComponent)ロードされたモジュールを返します。私が知る限りimport()、文字列またはストリームを渡すオプションはなく、モジュールへのパスのみです。ダウンロードしたコードをクライアント環境に追加しますが、Function(downloadedComponent)モジュールのエクスポートにアクセスして動的にロードされた React コンポーネントをレンダリングする方法がわかりません。

ダウンロードしたストリームから Javascript モジュールを動的にインポートする方法はありますか?

追記:返信ありがとうございます。Blob と のニュアンスに慣れていませんURL.createObjectURL。なぜこれが見つからないのでしょうか?

ここに画像の説明を入力