我正在努力应对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