2016-10-24 4 views
0

最初は同じような質問があることを知っていると言いますが、悲しいことに私は答えを見つけることができませんでした..ほとんどのテーマは約getInitialStateでしたReact.createElement:typeは、null、未定義、ブール値、または数値であってはなりません。それは文字列(DOM要素の場合)またはReactClassでなければなりません

React.createElement: type should not be null, undefined, boolean, or number. 
It should be a string (for DOM elements) or a ReactClass (for composite components). 
Check the render method of `Reapeter`. 
: 私は配列からビューにデータをフェッチしようとしてここにstruggligよ id,name and surname. は、それはほとんどそれは文句を言わないそれを私がコンソールに入った エラーの説明をレンダリングすることにエラー部分の横に働くようですあり

.toString()のように指定することと関係がありますか?か何か。私は正直であることを知りません、私は反応初心者です。

var Reapeter = React.createClass({ 
render: function(){ 
    var foreach = this.props.data.map(function(HeaderMiniComment){ 
     return(
      <HeaderMiniComment name={HeaderMiniComment.name} surname={HeaderMiniComment.surname} key={HeaderMiniComment.id}/> 
     ) 
    }); 
    return(
     <div> 
      {foreach} 
     </div> 
    ); 
} 
}); 

@編集 情報が不足している場合は、教えてください。私は私のために、あなただけのデータHeaderMiniCommentためprops.dataに保ち、などここでマップを実装する必要があります

var HeaderMiniComment = React.createClass({ 
render:function(){ 
    return(
     <div> 
      <span><p>{this.props.name}</p></span> 
      <br /> 
      <span style={{color:'red'}}><p>{this.props.surname}</p></span> 
     </div> 
    ) 
} 
}); 
+0

「props.data」はどのように見えますか? 'HeaderMiniComment'というコンポーネントがないことに憂慮しています – jonzee

+0

' HeaderMiniComment'のように見えるのは、 'null'、' undefined'、ブール値、または数字です。あなたのデータをチェックしてください。 –

+0

@jonzeeが編集しましたheaderminicommentを追加しました – Harugawa

答えて

2

@The HeaderMiniComment @ @_より多くを持ってみます

HeaderMiniCommentは、外側のコンポーネントです)
var foreach = this.props.data.map(function(item){ 
    return(
     <HeaderMiniComment name={item.name} surname={item.surname} key={item.id}/> 
    ) 
}); 

var HeaderMiniComment = React.createClass({ 
render:function(){ 
    return(
     <div> 
      <span><p>{this.props.name}</p></span> 
      <br /> 
      <span style={{color:'red'}}><p>{this.props.surname}</p></span> 
     </div> 
    ) 
} 
}); 

data = [{id: 1, name: 'John', surname: 'Kennedy'}, {...}, ...]; 
+0

これは問題を修正したようです。 (項目)はカスタム名ですか、それとも.map用に作られたものですか? – Harugawa

+0

いいえ、それはあなたが望むように名前をつけることができます:) – jonzee

+0

@Harugawa:どのように同じ変数が同じコンテキストで2つの異なるものを参照すると思いますか?それとも、JSXの仕組みがわからないのですか?もしあなたが 'React.createElement(HeaderMiniComment。{name:HeaderMiniComment.name})'を書いていたら?間違いはここであなたにはっきりしていますか? –

関連する問題