Reactプロジェクトで画像を導入するいくつかの方法

Reactプロジェクトで画像を導入するいくつかの方法

imgタグは画像を導入します

reactは実際にはjsリーダー関数を介してページをレンダリングするため、src="path"を直接記述して画像をインポートすることはできません。

モジュールをインポートするのと同じようにイメージをインポートできます

'./../../../../asset/img/user.png' から img をインポートします。

次のように紹介する必要がある

<img src={require('../images/picture.png')} alt="ラベル"/>

背景画像紹介

1 1つ目は、通常の方法で新しいCSSファイルを作成し、CSS構文を直接記述することです。

.img {
   背景: url('../images/picture.png') 0 0 繰り返しなし;
}

2 2番目の方法は、変数を介してReactコンポーネントに導入し、変数をimgタグに直接割り当てることです。

// 画像ファイルをインポート import bg from '../images/bg.png'
// 文字列連結によってスタイルオブジェクトを定義する const imgStyle = {
  幅: '100%'、
  高さ: '500px'、
  背景画像: 'url(' + bg + ')',
  背景位置: 'center 0'、
  背景サイズ: '2045px 472px',
  背景繰り返し: '繰り返しなし'
}
クラス Home は Component を拡張します {
 コンストラクタ(){
  スーパー(小道具)
 }
 与える() {
  //最後に変数をタグに直接割り当てます <div style="imgStyle">
   ...
  </div>
 }
}

必要とする

また、vue の場合と同様に、相対パスを require でラップし、src に直接割り当てることもできます。

<img width="100" height="100" src={require('./../../../../asset/img/user.png')} alt="" className={'user-img'}/>

**注:** ファイルローダーライブラリのバージョンが異なるため、若干の違いがあるため、ここで問題が発生します。ファイルローダーライブラリの上位バージョンでは、esModule はデフォルトで true に設定され、require は文字列パスではなく ES モジュールを返します。この ES モジュールのデフォルト属性は文字列パスなので、次のように記述する必要があります。

<img width="100" height="100" src={require('./../../../../asset/img/user.png').default} alt="" className={'user-img'}/>

ファイルローダーのバージョンについては心配する必要はありません。require を直接使用してもイメージを正常に表示できない場合は、require の後に .default を追加できます。

これで、React プロジェクトに画像を導入するいくつかの方法について説明したこの記事は終了です。React に画像を導入することに関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、次の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Reactの簡単な紹介
  • ReactプロジェクトにSCSSを導入する方法
  • ReactでAngularコンポーネントを導入する方法
  • ReactはコンテナコンポーネントとディスプレイコンポーネントをVueに導入します

<<:  MySQL の制限ページング最適化ソリューションの実装に関する簡単な説明

>>:  VMware 仮想マシンに CentOS と Qt をインストールするチュートリアル図

推薦する

Linux Dig コマンドの使用法

発掘紹介: Dig は、Unix ライクなコマンドライン モードで NS レコード、A レコード、M...

nginx+uwsgi で Django プロジェクトを開始するための詳細な手順

Django で Web プロジェクトを開発する場合、開発およびテストのプロセスでは Django ...

DockerにELKをインストールしてJSON形式のログ分析を実装する方法

ELKとは何ですか? ELK は、Elastic が提供するログ収集およびフロントエンド表示ソリュー...

クラスタrpmを使用してMySQLをインストールするための詳細な手順

MySQLデータベースをインストールするa) MySQL ソースインストールパッケージをダウンロード...

MySQLの文字タイプは大文字と小文字を区別します

デフォルトでは、MySQLの文字タイプは大文字と小文字を区別しません。つまり、name='A...

MySQLは、where in()順序ソートを実装するためにfind_in_set()関数を使用します。

この記事では、MySQL で find_in_set() 関数を使用して where in() の順...

フレームセットを使用して複雑なページレイアウトを実装するためのテクニックの概要

コードをコピーコードは次のとおりです。 <html> <!--混合フレームレイアウ...

Vue でデータが変更された後にビューを同期的に更新する方法

序文少し前に、興味深い問題を目にしました。Vue のデータが変更された後に、ビューを同期的に更新する...

49 個の JavaScript のヒントとコツ

目次1. js整数の演算2. ネイティブアラートを書き換えてポップアップボックスの数を記録する3. ...

DIV+CSS命名規則の詳細な説明はSEO最適化に役立ちます

1. CSSファイルの命名規則提案: 文字、_、-、数字を使用します。文字で始まる必要があり、純粋な...

JavaScript が Jingdong の虫眼鏡の特殊効果を模倣

この記事では、Jingdong虫眼鏡を模倣したJavaScriptの具体的なコードを参考までに共有し...

MYSQL インストールの解凍バージョンと発生したエラーと解決策

1 インストールMYSQL 公式サイトから対応する解凍バージョンをダウンロードし、必要なディレクトリ...

JSコンストラクタとインスタンス化およびプロトタイプ導入の関係

目次1. コンストラクタとインスタンス化2. コンストラクターとインスタンス化の関係は何ですか? 3...

Vueコンポーネントドキュメントを自動生成する方法を分析する

目次1. 現状2. コミュニティソリューション2.1 事業レビュー3. 技術的ソリューション3.1....

WeChat アプレットの日付と時刻のコンポーネント (年、月、日、時間、分)

この記事の例では、WeChatアプレットの日付と時刻コンポーネントの具体的なコードを参考までに共有し...