2017-04-07 20 views
0

は私が動的に自分の名前を決定した後にコンポーネントをレンダリングしようとしていると私は<resultComponent>タグにこのJSX動的コンポーネント - 不明小道具

不明な小道具entを取得しています。この小道具を要素から取り外します。

問題のあるコード、それが大文字で始まるので、別のコンポーネント

<ul> 
    {this.state.results.map(entity => { 
     var resultComponent = null; 
     var key = null; 

     if (entity instanceof ProjectModel) { 
     resultComponent = ProjectResult; 
     key = "p"; 
     } else { 
     resultComponent = UserResult; 
     key = "u"; 
     } 

     return <resultComponent key={key + entity.id} ent={entity}/>; 
    })} 
    </ul> 
+0

resultComponentを表示できますか? –

+0

@ダンあなたは深刻ですか? –

+0

実際に私はそれを既に考え出しました:) –

答えて

2

以内にあなたは、あなたのコンポーネントの名前を変更する必要があります。

JSXタグ名の規則(小文字の名前は組み込みの コンポーネントを参照し、大文字の名前はカスタムコンポーネントを参照します)。

したがって、<ResultComponent key={key + entity.id} ent={entity}/>;が動作するはずです。

関連する問題