前提・実現したいこと
"components": { "AComp": true, "BComp": false, "CComp": true, }
例えば,この形式のjsonファイルからキーの文字列を抜き出し<AComp /><CComp />のように出力したいです.
該当のソースコード
Object.keys(components_Data).forEach(function(key){ if(components_Data[key]){ var Tag = key; drawnTag.push(<{key} />); } }); this.setState({ drawnTag });
試したこと
タグの名前部分にJsonファイルから取ってきたキーをつかいたかったので単純に挿入したかったのですが Unexpected tokenとなりダメでした.そのまま挿入するほうほうなどは無いでしょうか?
Reactはよく知らないですが普通の文字列を""で囲わなくてもいいんですか?Unexpected tokenは単なる構文エラーですよね。
ACompやCCompなどは、どこでどのような形で定義されていますか?
<{key} />を圍むということでしょうか?単に"<{key} />"が出力されてしまいます
> mts10806さん
<Tag />のような構文は文字列ではなくReact特有のもので、「JSX」といいます。
他ファイル内で
class Ccomp extends Component{}とやっています
maisumakunさん
そういうことですね。ありがとうございます。
@hfidkさん
ひとつ前のご質問 https://teratail.com/questions/168828 への私の回答に、コメントで頂きました追加のご質問:「追加するタグの名前をオブジェクトのキー名にすることってできませんか? 2019/01/17 18:13」への返答として、そちらの回答に「追記 4」を書きましたが、私の説明が下手ですみません。ちょっと分かりにくかったですかね。
@jun68yktさん
すいません,完全に見落としていました.見直して解決することができました.本当に感謝です
@hfidkさん
「解決することができました.」とのことでよかったです???? それでは一つお願いですが、復習の意味でこちらのご質問のほうに寄せられる回答にも目を通し、いずれかの回答をベストアンサーとされ、解決済みにされることを(今後もteratailを快適に利用されたいのであれば、)お勧めいたします。
????
回答1件
あなたの回答
tips
プレビュー