9

JSONとして次の構成があります

var componentConfig = {
content: { type: "ContentContent", data: "content"},
new_content: { type: "ContentFormContent", data: "content"}
}

反応するrendercomponentでは、コンポーネント名を動的に渡してreact renderすることは可能ですか?

たとえば、この rendercomponent では、ContentFormContent を直接配置する代わりに、json 構成からデータを渡すことができ、ループなどを行うことができます。

React.renderComponent(<ContentFormContent data={[componentConfig.new_content.data]} />, body);

SO私はjson構成にページのリストを持ち、特定のナビゲーションの選択に基づいて、jsonファイルからの「タイプ」に基づいてコンポーネントをレンダリングします

4

2 に答える 2

15

JSX

<ContentFormContent data={[componentConfig.new_content.data]} />

単にコンパイルします

ContentFormContent({data: [componentConfig.new_content.data]})

そのため、好きなようにその関数呼び出しを行うことができます。この場合、可能なすべてのコンポーネントのリストを作成し、次のようにするのがおそらく最も便利です。

var allComponents = {
    ContentContent: ContentContent,
    ContentFormContent: ContentFormContent
};

// (later...)
React.renderComponent(allComponents[component.type]({data: component.data}), body);

ifcomponentは、サンプル配列の要素です。

于 2013-12-27T07:42:30.087 に答える