以下のコードが動作しない理由を教えてください。それは単純なAJAX呼び出しであり、別のコンポーネントでレンダリングしようとしています。私はどこにエラーがあるのか分からない。 {}コンポーネントからデータを取り出して別のコンポーネントにレンダリングする
// from:
<Hello name="this.state.names"/>
//to:
<Hello name={this.state.names}/>
にquots cahnge
var Names = React.createClass({
getInitialState: function() {
const self = this;
const names = fetch('https://api.myjson.com/bins/ksgah')
.then(function(response) {
return response.json()
})
.then(function(response) {
self.setState({'names':response.name})
})
return {names: names};
},
render() {
return (
<Hello name={this.state.names}/>
)
}
})
var Hello = React.createClass({
render: function() {
return(
<ul>
{
this.props.names.map(name => {
return <li>{name}</li>
})
}
</ul>
)
}
})
ReactDOM.render(<Names/> , document.getElementById('container'));
いやスポット:
また、
names
はあなたが開始する空の配列ではなく、約束を参照する必要があります。 –@JennyMok 投票してください、ありがとうございました –