Laksanakan import modul dinamik dalam React Native Expo
P粉885562567
P粉885562567 2023-08-28 15:01:05
0
1
493
<p>Jika apl <strong>React Native</strong> saya (berjalan dalam apl Expo Go) pada masa ini melakukan <kod>import/dari</code></p> <pre class="brush:php;toolbar:false;">import Foo, {Bar} daripada "foo";</pre> <p>Bagaimanakah saya boleh menukar ini kepada import dinamik yang hanya mengimport apabila syarat tertentu dipenuhi, seperti apabila <kod>hello === "dunia"</kod>? </p> <p>Tindakan berikut akan menyebabkan aplikasi ranap dengan ralat <kod>bukan-std C++ pengecualian</code>. </p> <pre class="brush:php;toolbar:false;">if (hello === "world") { import Foo, {Bar} daripada "foo"; }</pre> <p>Mencuba penyelesaian berikut tetapi masih mengakibatkan ranap dengan <kod>bukan-std C++ pengecualian</code>: </p> <pre class="brush:php;toolbar:false;">if (hello === "world") { const Foo = import('foo') const Bar = Foo.Bar }</pre></p>
P粉885562567
P粉885562567

membalas semua(1)
P粉744691205

Anda boleh menggunakan fungsi import() untuk memuatkan modul secara tidak segerak. Berikut adalah contoh:

let Foo;
let Bar;

if (hello === "world") {
  import("foo").then((module) => {
    Foo = module.default;
    Bar = module.Bar;
  });
}

Dalam kod ini, fungsi import() mengembalikan janji yang diselesaikan kepada objek modul. Atribut lalai bagi objek modul diberikan kepada pembolehubah Foo, dan atribut Bar bagi objek modul diberikan kepada pembolehubah Bar.

Perlu diambil perhatian bahawa fungsi import() adalah tak segerak, jadi sebarang kod yang bergantung pada modul yang diimport hendaklah diletakkan dalam fungsi panggil balik then(). Selain itu, anda harus memastikan bahawa sebarang kod yang bergantung pada modul yang diimport hanya dilaksanakan selepas modul telah dimuatkan.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!