[解決済み] React Native - Dynamic Namesを使用した画像要求モジュール
2022-10-24 14:50:54
質問
現在、React Nativeを使用してテストアプリを作成しています。Imageモジュールは今のところ問題なく動作しています。
例えば
avatar
という名前の画像があった場合、以下のコードスニペットは正常に動作します。
<Image source={require('image!avatar')} />
しかし、これを動的な文字列に変更すると、次のようになります。
<Image source={require('image!' + 'avatar')} />
エラーが出ます。
不明なモジュール "image!avatar" を要求しています。モジュールがあることを確認している場合、パッケージャを再起動してみてください。
明らかに、これは作為的な例ですが、動的な画像名は重要です。React Native は動的な画像名をサポートしていないのでしょうか?
どのように解決するのですか?
これは、ドキュメントの " のセクションでカバーされています。 静的リソース "のセクションで説明されています。
バンドル内の画像を参照するために唯一許された方法は、文字通りソースに require('image!name-of-the-asset') と記述することです。
// GOOD
<Image source={require('image!my-icon')} />
// BAD
var icon = this.props.active ? 'my-icon-active' : 'my-icon-inactive';
<Image source={require('image!' + icon)} />
// GOOD
var icon = this.props.active ? require('image!my-icon-active') : require('image!my-icon-inactive');
<Image source={icon} />
ただし、Xcodeのアプリで画像をxcassetsバンドルに追加することを忘れないようにする必要があります(コメントからすると、すでに行っているようですが)。
関連
-
[解決済み] ES6インポートで中括弧を使用するのはどのような場合ですか?
-
[解決済み] React NativeとReactの違いは何ですか?
-
[解決済み] React / React Nativeでコンストラクタを使用する場合とgetInitialStateを使用する場合の違いとは何ですか?
-
[解決済み] react-nativeでキーボードを隠す
-
[解決済み】Node.jsのrequireとES6のimport/exportを使い分ける。
-
[解決済み] 文字列のn番目の出現箇所を取得するには?
-
[解決済み] jQueryの$という記号の意味は何ですか?
-
[解決済み] Reactメモを使うべきではない場合とは?
-
[解決済み] イテレータでmap()を使用する
-
[解決済み] HTML要素にスクロールバーがあるかどうかをチェックする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Vue.jsのダイナミックイメージが動作しない
-
[解決済み] JSのDateからDay名
-
[解決済み] JavaScript で範囲を作成する - 奇妙な構文
-
[解決済み] コールバック地獄とは何か、RXはそれをどのように、そしてなぜ解決するのか?
-
[解決済み] Javascriptで動的に命名されたメソッドを呼び出すにはどうすればよいですか?
-
[解決済み] react-routerのハッシュフラグメントからクエリパラメータを取得する
-
[解決済み] Reactメモを使うべきではない場合とは?
-
[解決済み] 文字列とラベルのローカライズとグローバリゼーションのベストプラクティス【終了しました
-
[解決済み] V8 Javascript エンジンのスタンドアロン実行
-
[解決済み] Fetch: ステータスがOKでない場合、プロミスを拒否し、エラーをキャッチするか?