bileşeni ekleyin kılmak. URL'den içerik yükler. Bu sınama çalışır ancak aynı zamanda beklenmeyen sonsuz bir döngü oluşturur ... render?Reactjs beklenmedik sonsuz döngü uygulanan I Tepki kullanarak
<script type="text/jsx">
/** @jsx React.DOM */
var Include = React.createClass({
getInitialState: function() {
return {content: 'loading...'};
},
render: function() {
var url = this.props.src;
$.ajax({
url: url,
success: function(data) {
this.setState({content: data});
}.bind(this)
});
return <div>{this.state.content + new Date().getTime()}</div>;
}
});
var Hello = React.createClass({
render: function() {
return <Include src="hello.txt" />;
}
});
React.renderComponent(
<Hello />,
document.getElementById('hello')
);
</script>
sorunu çalıştı görmek güzel! Tavsiye edeceğim bir küçük öneri ajax çağrısını componentWillMount yöntemine taşımaktır. Sonuç aynıdır, ancak componentWillMount yöntemini kullanmak, endişelerin daha iyi ayrılmasını sağlar. Bir keman ekledim, demek istediğim şeyi yapabilirsiniz. P.s - React is awesome İşte [jsfiddle] (http://jsfiddle.net/NXCyC/50/) – user3508122
@ user3508122 Bunun için componentDidMount öğesinin doğru olduğuna inanıyorum. [Resmi derste] kullanılır (http://facebook.github.io/react/docs/tutorial.html). Düşünebilmemin tek nedeni, "renderComponentToString" (yani sunucu oluşturma) kullanılırken componentWillMount çağrılmasıdır. – FakeRainBrigand
@FakeRainBrigand - İyi nokta! Haklısın - benim hatam. – user3508122