2017-07-08 10 views
9

のような動的リソース要求するようにしようとしたとき、私はネイティブ反応し、require()機能の人がしてあっていることを問題に関するいくつかの記事を読んだ:リアクションネイティブ:require()with Dynamic String?

ダイナミック(失敗)

urlName = "sampleData.json"; 
data = require('../' + urlName); 

対を静的(成功)

data = require('../sampleData.json'); 

私はこれが反応ネイティブのバグであることを、いくつかのスレッドで読んだことがあります他の点ではこれは機能です。

関数内で動的リソースを要求する新しい方法はありますか?

関連記事(全てで反応かなり古い時間):

答えて

0

あなたはWebPACKのようなモジュールバンドラを使用していますか? https://webpack.js.org/guides/code-splitting/#dynamic-imports私が聞いてきたように

+1

から、その後例えば

const images = { profile: { profile: require('./profile/profile.png'), comments: require('./profile/comments.png'), }, image1: require('./image1.jpg'), image2: require('./image2.jpg'), }; export default images; 

import Images from './img/index'; render() { <Image source={Images.profile.comments} /> } 

ため ? –

1

は、のrequire()は唯一あなたがrequire('/path/file')をしなければならないことを意味し、静的なURLではない変数を使用して反応し、見てみましょう:

もしそうなら、あなたはrequire.ensure()

参照してみてくださいこのissue on githubthis oneの代替ソリューションには、他にもいくつかの方法があります。あなたはバニラを使用している場合は、モジュールバンドラなしでネイティブリアクト何このanswer