Ich habe eine React-Komponente und möchte meine JSON-Daten aus einer Datei laden. Das Konsolenprotokoll funktioniert derzeit nicht, obwohl ich die Variable erstelle Daten als globale Daten
'use strict';
var React = require('react/addons');
// load in JSON data from file
var data;
var oReq = new XMLHttpRequest();
oReq.onload = reqListener;
oReq.open("get", "data.json", true);
oReq.send();
function reqListener(e) {
data = JSON.parse(this.responseText);
}
console.log(data);
var List = React.createClass({
getInitialState: function() {
return {data: this.props.data};
},
render: function() {
var listItems = this.state.data.map(function(item) {
var eachItem = item.works.work;
var photo = eachItem.map(function(url) {
return (
<td>{url.urls}</td>
)
});
});
return <ul>{listItems}</ul>
}
});
var redBubble = React.createClass({
render: function() {
return (
<div>
<List data={data}/>
</div>
);
}
});
module.exports = redBubble;
Im Idealfall würde ich es lieber so machen, aber es funktioniert nicht - es versucht hinzuzufügen ".js" am Ende des Dateinamens .
var data = require('./data.json');
Jeder Rat auf dem besten Weg, vorzugsweise dem "Reagieren" Weg, wäre sehr dankbar!
console.log
funktioniert einwandfrei, Sie rufen es einfach an, bevorreqListener
es jemals aufgerufen wird.