私はReactコンポーネントにサーバーデータを取得するためにAJAX呼び出しをしようとしています。ReactでAJAXを使用してサーバーデータを取得する
Reactで表示できません。私はこのエラーを取得:
Uncaught TypeError: Cannot read property 'map' of undefined
私は研究http://andrewhfarmer.com/react-ajax-best-practices/とreactjs - Uncaught TypeError: Cannot read property 'map' of undefinedを行ってきた。しかし、私は私の反応コンポーネントにマップするかどうかはわかりません。ここで
は、以下の私のコードです:
var items;
$.get("http://localhost:3000/getProducts", function(data) {
items = data;
this.state.items = data;
});
/*React Code Below */
var RepeatModule = React.createClass({
getInitialState: function() {
return { items: [] }
},
render: function() {
var listItems = this.props.items.map(function(item) {
return (
<div className='brick'>
<div>
<a target='_blank' href={item.productURL}><img src={item.imageURL}/></a>
<p className='itemName'>Short Sleeve Oxford Dress Shirt, White, Large</p>
<p className='storeName'>Nike Factory Store</p>
<img className='foundPicture' src='../images/rohit.png'/>
</div>
</div>
);
});
return (
<div>
{listItems}
</div>
);
}
});
ReactDOM.render(<RepeatModule items={items} />,
document.getElementById('clothing-content'));
項目のプロパティを持つ私のJSON配列は有効です。
[ { _id: 584d1e36a609b545b37611ac,
imageURL: 'http://ih1.redbubble.net/image.252113981.3904/ra,unisex_tshirt,x1350,fafafa:ca443f4786,front-c,30,60,940,730-bg,f8f8f8.u2.jpg',
productName: 'Drake',
productType: 'T-Shirts & Hoodies',
price: '$29.97',
productURL: 'http://www.redbubble.com/people/misfitapparel/works/22923904-drake?grid_pos=6&p=t-shirt',
__v: 0 } ]
なぜこのエラーが発生している:
ここでは、以下の配列がありますか?そしてそれはどのように実装すべきでしょうか?
@AndyRay私の取得要求は私の初期状態の機能にあるべきですか? –