質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
オブジェクト

オブジェクト指向において、データとメソッドの集合をオブジェクト(Object)と呼びます。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

解決済

1回答

1266閲覧

Typescript - mapを使ってoptionタグ配列を生成しようとすると[object Object]と出てしまう

metafuku

総合スコア6

オブジェクト

オブジェクト指向において、データとメソッドの集合をオブジェクト(Object)と呼びます。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

0クリップ

投稿2020/01/27 06:57

目標物

都道府県やその他データとなるselect物をoptionタグでmap配列してくれる物を作ろうとしています。
しかし[object Object]と出てしまい、思うようにデータを参照させる事が出来ず、困っています。
初歩的な質問で申し訳ないのですが、どなたかご回答頂けたら助かります。

##現在のコード内容

data.tsx

1export type definesData = {[key:string]:string}[] 2 3export const Prefs : definesData = [ 4 {key:'hokkaido', name:'北海道', area:'Hokkaido'}, 5 {key:'aomori', name:'青森', area:'Tohoku'}, 6 {key:'akita', name:'秋田', area:'Tohoku'} 7];

Option.tsx

1function listToOption(list:definesData) : JSX.Element[] { 2 return list.map((props:{[key:string]:string}) => 3 <option key={props.key} value={props.keys}>{props.name}</option> 4 ) 5} 6 7export const selectPrefs : JSX.Element[] = listToOption(Prefs);

Error内容

Encountered two children with the same key, [object Object]. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — the behavior is unsupported and could change in a future version.

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

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

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

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

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

miyabi_takatsuk

2020/01/27 08:22 編集

option要素の記載があるので、何かのフロントエンドフレームワークを使っていますよね? フレームワークの質問タグ追加、その記載、どこでどう使用しようとしているかを部分的にではなく全体的に記載していただかないと、回答しようがありません。 この構文のみで解決できるものではありません。
metafuku

2020/01/27 08:27

今しがた自己解決しまして、みやびさんの仰る通り全体的な物でした。 回答依頼を出しておきながら時間だけを奪ってしまう形になり、ご迷惑をお掛けして申し訳ありません。
miyabi_takatsuk

2020/01/27 08:28

なんもです。 解決されて何よりです。
metafuku

2020/01/27 08:31

有難うございます、すいません。 また、宜しくお願い致します。
guest

回答1

0

自己解決

自己解決しました。
質問内容がエラーを吐き出していた原因ではなく、この関数を反映させた部分で{props.name}とすべき所を{props}のままにしていたという、初歩以前の問題でした。

観覧された方、お時間を取らせて申し訳ありませんでした。

投稿2020/01/27 08:23

metafuku

総合スコア6

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問