<script type="text/template"></script>
我正在尝试为用于呈现页面元素的项目做出贡献。
我的贡献是将页面的元素更改为 React 组件。但是,当我命令反应在特定 div 中呈现时,ReactDOM.render()
我收到一条错误消息
未捕获的错误:_registerComponent(...):目标容器不是 DOM 元素。
我知道这意味着 react 找不到要渲染的 div,所以我需要在 div 之后加载 react 脚本,我已经尝试过了,但错误又出现了。
我试过加载反应脚本,否则像这样
<script type="text/template">
<ul class="new-component-template" id="xblocklist" >
</ul>
<script type="text/babel" src="path to react file"/>
</script>
但是当我加载页面时,错误消失了,脚本根本没有加载。
我需要的是在调用外部脚本时加载脚本,IE我可以在里面写一个函数<script type="text/template"></script>
来实际加载里面的反应脚本。
更新
var ListXblocks = React.createClass({
componentWillMount: function(){
this.setState({Problemstyle: this.props.Problemstyle})
fetch('http://192.168.33.10:8002/XBlocks/')
.then(result=>result.json())
.then(result=> {
this.setState({items:result})
})
},
render:function(){
return(
<div>
{
this.state.items.map((item)=>{return(
<li className="editor-manual" key={item.title}>
<button type="button" className="button-component" data-category="problem" data-boilerplate="">
<span className="name">{item.description}</span>
</button>
</li>)})
}
</div>
);
}
});
ReactDOM.render(<ListXblocks/>, document.getElementById('xblocklist'));