我正在努力應對Reactjs和組件渲染。與ReactJS一起使用服務器端HTML模板
基本上我在服務器上定期使用html模板,我試圖將它們作爲JSX組件與React一起使用。否則,它工作得很好,但我無法觸發事件,例如:this.handleSubmit。
如何將加載的模板渲染爲React元素?
//Template /index.html
<form onSubmit={this.handleSubmit}>
<input type="text">
<input type="submit"
</form>
//Template loader
var App = React.createClass({
componentDidMount: function() {
this.updateContent();
},
updateContent: function(){
/**
* Loads the template from the server and sets
* a new state
*/
var url = this.props.source.slice(1);
$.get(url, function(result) {
var html = result;
if (this.isMounted()) {
this.setState({
content: html
});
}
}.bind(this));
},
handleSubmit: function(){
console.log('Submit fired');
}
render: function() {
var converter = new HTMLtoJSX({createClass: false});
var jsx = '/** @jsx React.DOM */ ' + converter.convert(this.state.content);
return (
<div>
{JSXTransformer.exec(jsx)}
</div>
);
});
React.render(
<App source="#/index.html" />,
mountPoint
);
爲什麼?請包括這些模板之一的示例。 – FakeRainBrigand 2015-02-05 14:12:09
在代碼部分的頂部有一個模板文件的示例。 – 2015-02-05 14:24:19