[解決済み] Reactでarray.map()を描画する
2022-03-09 13:45:20
質問
データの配列を使って
<ul>
要素で構成されています。以下のコードでは
console.log
は正常に動作していますが、リスト項目が表示されません。
var Main = React.createClass({
getInitialState: function(){
return {
data: dataRecent
}
},
render: function(){
return (
<div>
<ul>
{
this.state.data.map(function(item, i){
console.log('test');
<li>Test</li>
})
}
</ul>
</div>
)
}
});
ReactDOM.render(<Main />, document.getElementById('app'));
何が間違っているのでしょうか?ベストプラクティスでないことがあれば、遠慮なくご指摘ください。
どのように解決するのですか?
ゴーシャ・アリニッチ
の言うとおりです。
<li>
要素を使用します。
しかし、それにもかかわらず、この場合、ブラウザのコンソールに赤い警告が表示されるはずです。
配列またはイテレータの各子要素は、一意の "key" プロパティを持つ必要があります。
というわけで、"key" を追加する必要があります。
this.state.data.map(function(item, i){
console.log('test');
return <li key={i}>Test</li>
})
を削除するか
console.log()
で、es6を使った美しいワンライナーです。
矢印機能
:
this.state.data.map((item,i) => <li key={i}>Test</li>)
重要な更新 :
上記の回答で現状の問題は解決していますが、次のように
セルゲイ
コメントで言及されているように、マップインデックスに依存するキーを使用することは
悪い
は、フィルタリングやソートを行いたい場合です。その場合は
item.id
もし
id
がすでに存在する場合は、一意な ID を生成してください。
関連
-
[解決済み】ある要素が可視DOMに存在するかどうかを確認するにはどうすればいいですか?
-
[解決済み] Reactルータを使ったプログラムによるナビゲーション
-
[解決済み] React JSX内のループ
-
[解決済み] Reactのこの3つの点は何をするところなのでしょうか?
-
[解決済み] React-routerのURLを更新したり、手動で書き込んだりするとうまくいかない
-
[解決済み] React NativeとReactの違いは何ですか?
-
[解決済み] Reactコンポーネントに条件付きで属性を追加するにはどうすればよいですか?
-
[解決済み] React jsのonClickはメソッドに値を渡すことができない
-
[解決済み] レンダリング後に入力フィールドにフォーカスを設定するには?
-
[解決済み] Reactで要素を表示・非表示にする
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Heroku:ノードアプリで「このアプリにはデフォルトの言語が検出されませんでした」エラーがスローされる
-
[解決済み】Uncaught ReferenceError: angular is not defined - AngularJSが動作しない。
-
[解決済み] 解決済み】clearInterval()が動作しない [重複] [重複]
-
[解決済み】ある要素が可視DOMに存在するかどうかを確認するにはどうすればいいですか?
-
[解決済み】Uncaught ReferenceError。Reactが定義されていない
-
[解決済み】JavaScript ランタイムエラー:'$'が未定義です。
-
[解決済み】JavaScriptで相対URLへのリダイレクトを行う
-
[解決済み】HTMLの最初の行に予期しないトークン<がある。
-
[解決済み】JavaScriptで関数が存在するかどうかを確認する方法は?
-
[解決済み】react router v^4.0.0 Uncaught TypeError: 未定義のプロパティ'location'を読み取れない