🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

解決済

1回答

1136閲覧

Reactのimport?変数?の挙動について

re_refuse

総合スコア17

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

0クリップ

投稿2019/11/17 14:23

編集2019/11/17 14:29

前提・実現したいこと

初心者なのでインポートの仕様などをあまり理解していせん。
Reactを使用して画像を表示しようとしているのですが、思ったとおりに動いてくれません
下記の指定の部分をのようにして動作させたいのですが良い方法はありますか?

console.log(this.props count ) //0 <img src={'img'+this.props.count} /> //この方法だとエラーは出ないけど、画像が表示されない。

or

const url = 'img'+this.props.count; <img src={url} /> //Parsing error: Unexpected token

該当のソースコード

import React, {Component} from 'react'; import './card.css'; //images import img0 from '../../img/img0.png'; import img1 from '../../img/img1.png'; export default class Card extends Component{ constructor(props){ super(props); } render(){ return( <a href={this.props.url} target="_blank"> <div className="Card"> <img src={img0} />   ←!!!!!ここ!!!! </div> </a> ); } }

試したこと

下記のプログラムを使用して静的に画像を読み込むと、Parsing error: Unexpected tokenというエラーが表示される。reactのエラー出力の仕組みがいまいちわからないため(esLint?)、挫折しました。
eslintのさまざまな記事はコンソール操作でのエラーですが私の場合はサーバー起動したときのエラーとして出力されてます。
JSのバージョン違いのことをおっしゃっている記事が多かったので、「eslint-babel」や「prettier」のようなものは入れてみましたが、「.eslintrc」のファイルが見つからず、自分でルートディレクトリに作成してみても動作しているかは定かではありません。

const url = '${process.env.PUBLIC_URL}/src/img'+this.props.count+'.png';

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

こんにちは

一案として、以下のような配列images

//images import img0 from '../../img/img0.png'; import img1 from '../../img/img1.png'; const images = [ img0, img1 ]; // この行を追加

を作っておいて、

jsx

1<div className="Card"> 2 <img src={images[this.props.count]} /> 3</div>

としてみるのはいかがでしょうか?

参考になれば幸いです。

投稿2019/11/17 14:32

jun68ykt

総合スコア9058

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

re_refuse

2019/11/17 14:36

早急かつ的確な回答をありがとうございます!!!importので格納される側の文字列は意外と柔軟であることを気づくことができました!! 正直配列に入れる書き方をみたとき衝撃を受けましたw ありがとうございます!
jun68ykt

2019/11/17 14:38

どういたしまして。解決されたようで、よかったです????
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問