私はオブジェクトの配列を介してマップしようとしています。React:リストを使って画像マッピングを動的にレンダリングするにはどうしたらいいですか?
私のJSONでstaff
の各配列要素はありimgUrl
:
<Home data={data.home} />
:これは、コンポーネントに
import data from './data.json';
と私のメインのApp.js
ファイルに持ってきて、渡され
{
"home": {
...
"staff": [
{
...
"imgUrl": "../Images/Jon.JPG",
...
},
...
],
...
}
...
}
と自宅で私は持っています:
let staff = this.props.data.staff.map((member, i) => {
return (
<Staff imgUrl={member.imgUrl} />
);
、その後Staff
に私がイメージをロードしようとしている:これは動作しません。しかし
<img src={this.props.imgUrl} alt={this.props.name} />
、ALTが表示されます。正しい文字列がsrcに渡されていることを確認しましたが、イメージはまだロードされていません。 {this.props.imgUrl}
をjsonに格納されている実際のパスに置き換えると、イメージが読み込まれます。私はこれを数時間は探していましたが、他の人が同様の問題に使っていたソリューションをどこにでも実装することができなかった。
私はこのプロジェクトを開始するためにcreate-react-appを使用しました。
編集:私はかなりばかげていました。私は以前Imageフォルダにコピーしていました(srcにあり、publicに移動しました)が、srcのパスに私のパスでアクセスしました。私はそれ以来、すべての作品を公開しています。みんな助けてくれてありがとう。
てみはそれが何かが起こっている可能性があります、 'console.log'を使用するとIMGが適切 – Sergey
プロパティを取得ブラウザのコンソールをチェックすることはできません。コードが正常に機能している可能性がありますが、画像が他の理由で読み込まれない可能性があります。 – Sidney
'member.imgUrl'を' this.imgUrl'に置き換えようとしています – Sergey