Ich bin ein Anfänger von ReactJS und nur mit the example code on React's official site starten. Wenn ich den Code in Abschnitt 'Fetching from the server' versuche, kann ich es nicht zum Laufen bringen.ReactJS Daten nicht vom Server abrufen, wenn 'URL' Attribut
Ich habe versucht, sowohl die relativen Pfad
React.render(
<CommentBox url="../data/data.json" />,
document.getElementById('content')
);
und absoluten Pfad
React.render(
<CommentBox url="http://localhost/path/to/data.json" />,
document.getElementById('content')
);
Aber keine von ihnen korrekt ausgeführt wird. Als ich im Chrome-Entwicklungstool das Fenster "Netzwerk" auscheckte, sah ich, dass die Seite nicht einmal die Anforderung für data.json
gesendet hatte. Also habe ich einen Fehler von Cannot read property 'comments' of undefined
bekommen.
mehr Code:
var Comment = React.createClass({
render: function() {
return (
<div className="comment">
from {this.props.author} <br/>
{this.props.children}
</div>
);
}
});
var CommentList = React.createClass({
render: function() {
var commentNodes = this.props.comments.map(function(comment){
return (
<Comment author={comment.author}>
{comment.text}
</Comment>
);
});
return (
<div className="comment-list">
{commentNodes}
</div>
);
}
});
var CommentForm = React.createClass({
render: function() {
return (
<div className="comment-form">
Hello, I am a comment form.
</div>
);
}
});
var CommentBox = React.createClass({
render: function() {
return (
<div className="comment-box">
<h1>Comments</h1>
<CommentList comments={this.props.data.comments} />
<CommentForm />
</div>
);
}
});
// ========== This won't work ===========
// React.render(
// <CommentBox url="./data/data.json" />,
// document.getElementById('content')
//);
// =========== This works. ===========
$.ajax({
type: "GET",
url: "./data/data.json",
dataType: "json",
}).done(function(res){
React.render(
<CommentBox data={res} />,
document.getElementById('content')
);
});
Jede Art von Hilfe geschätzt wird.
Danke.
Können Sie mehr von Ihrem Code teilen? Machst du eine "GET" Anfrage in deiner Komponente, um die 'JSON' Daten zu erhalten? Hier ist ein [gutes Beispiel] (http://facebook.github.io/react/tips/initial-ajax.html), wie Sie Daten vom Server abrufen können. –
@BrettDeWoody Wirklich ein großartiges Beispiel für einen Anfänger wie mich. Vielen Dank! :) – hudidit
Ich dachte genau dasselbe, danke für deinen Beitrag :) :) – Rocklan