React Native Expo에서 동적 모듈 가져오기 구현
P粉885562567
2023-08-28 15:01:05
<p>내 <strong>React Native</strong> Expo 앱(Expo Go 앱 내에서 실행)이 현재 <code>import/from</code></p>
<pre class="brush:php;toolbar:false;">'foo'에서 Foo, {Bar} 가져오기;;</pre>
<p>이를 <code>hello === "world"</code>와 같이 특정 조건이 충족될 때만 가져오는 동적 가져오기로 변환하려면 어떻게 해야 합니까? </p>
<p>다음 조치를 취하면 <code>non-std C++ 예외</code> 오류로 인해 애플리케이션이 충돌하게 됩니다. </p>
<pre class="brush:php;toolbar:false;">if (hello === "world") {
"foo"에서 Foo, {Bar} 가져오기;
}</pre>
<p>다음 해결 방법을 시도했지만 여전히 <code>비표준 C++ 예외</code>로 인해 충돌이 발생합니다. </p>
<pre class="brush:php;toolbar:false;">if (hello === "world") {
const Foo = import('foo')
const Bar = Foo.Bar
}</pre></p>
import() 함수를 사용하여 모듈을 비동기적으로 로드할 수 있습니다. 예는 다음과 같습니다.
으아악이 코드에서 import() 함수는 모듈 객체로 확인되는 Promise를 반환합니다. 모듈 객체의 기본 속성은 Foo 변수에 할당되고, 모듈 객체의 Bar 속성은 Bar 변수에 할당됩니다.
import() 함수는 비동기식이므로 가져온 모듈에 의존하는 모든 코드는 then() 콜백 함수에 배치되어야 합니다. 또한 가져온 모듈에 의존하는 모든 코드는 모듈이 로드된 후에만 실행되도록 해야 합니다.