私は反応するのが初めてで、Lyndaの例の1つからサブクラスを学んでいました。という名前の新しいサブコンポーネント クラスを作成し、プロパティである JSON ファイルから各インデックスを反復処理するためaptList
に使用しています。this.props.eachItem.ownerName
ownerName
これは、ブラウザで実行したときに発生するエラーです。データは取得されますがprop
、エラーによると認識されません
ただし、反応コンソールはJSONをうまく取得しているようです
これはリンダで教えられたコードです
var React = require('react');
var ReactDOM = require('react-dom');
var createReactClass = require('create-react-class');
var aptList = createReactClass({
render: function(){
return(
<li>{ this.props.eachItem.ownerName }</li>
);
}
});
var MainInterface = createReactClass({
getInitialState: function(){
return {
title: 'Items',
show: function(x){
if(x>10){
return true
}
else {
return false
}
},
myData: []
}
},
componentDidMount: function(){
this.serverRequest = $.getJSON('static/scripts/src/myData.json', function(results){
var tempData = results;
this.setState({
myData: tempData
});
}.bind(this));
},
componentWillUnmount: function(){
this.serverRequest.abort();
},
render: function(){
var style = {
color: 'red',
fontWeight: 900
};
var reactData = this.state.myData;
reactData = reactData.map(function (each, index) {
return (
<aptList eachItem = { each }
key = { index }/>
)
}.bind(this));
return (
<div>
<h1>{ this.state.show(12) ? 'List of ':null }{ this.state.title }</h1>
<ul style={style}>
{ reactData }
</ul>
</div>
)
}
});
ReactDOM.render(
<MainInterface/>,
document.getElementById('testid')
);