新しいレスポンスには、以下のような類似のタイトルがいくつかありますが、エラーメッセージUncaught TypeError: this.state.stock.map is not a function
のエラーメッセージが表示されません。別のAPIコールで同様のコードを使用すると、そのようなエラーは発生しません。コードは以下の通りです。 getメソッドのデータを在庫に割り当てている場合、そのメソッドも機能していないと同じ問題が発生します。何が問題ですか ?私が参照したいくつかのリンク。Uncaught TypeError:this.state.stock.mapがReactの関数ではありません
var StockData = React.createClass({
getInitialState: function() {
return {
stock: []
};
},
componentDidMount: function() {
this.serverRequest = $.get(this.props.source, function (data) {
var old = JSON.stringify(data).replace("//", ""); //convert to JSON string
var obj = JSON.parse(old); //convert back to JSON
console.log(obj);
this.setState({
stock: obj
});
}.bind(this));
},
componentWillUnmount: function() {
this.serverRequest.abort();
},
render: function() {
return (
React.createElement("div",null,
React.createElement("ul",null,
this.state.stock.map(function (listValue){
return React.createElement("li",null,listValue.t,"(",listValue.e,")-"," Current Price :",listValue.l_cur," Date :",listValue.lt
);
})
)
)
);
}
});
ReactDOM.render(React.createElement(StockData, { source: "http://www.google.com/finance/info?q=NSE:ATULAUTO,WIPRO,INFY" }),document.getElementById('proper-list-render3'));
それでも問題は解決しません。 –
レンダリングでconsole.log(this.state)を実行できます。this.state.stockが配列ではない可能性があります。 –
を参照してください。 –