Reactjs 将模板分离到React中的外部文件
我正在为一个客户端开发ReactJS应用程序。我希望客户端能够自定义应用程序中的一些配置和模板。因此,我创建了一个Reactjs 将模板分离到React中的外部文件,reactjs,Reactjs,我正在为一个客户端开发ReactJS应用程序。我希望客户端能够自定义应用程序中的一些配置和模板。因此,我创建了一个config.js文件 window.APP_CONFIG = { url: 'example.com', template: { item: ' <div> <h3>A new item title</h3> { item.de
config.js
文件
window.APP_CONFIG = {
url: 'example.com',
template: {
item: '
<div>
<h3>A new item title</h3>
{ item.description }
</div>
'
}
};
window.APP\u配置={
url:'example.com',
模板:{
项目:'
新项目名称
{item.description}
'
}
};
如何在react应用程序中使用此变量?我尝试了以下方法,但它给了我错误
var app = React.createClass({
render(){
return (
<div>
{APP_CONFIG.template.item}
</div>
)
}
})
var-app=React.createClass({
render(){
返回(
{APP_CONFIG.template.item}
)
}
})
有人做过类似的事情吗?你并不孤单。允许您使用react,而不必忍受内联jsx
react-templates语法与jsx非常相似,但允许您将组件html代码放在单独的.rt文件中—更干净。RT文件对循环和分支有更好的支持。另外,您不必绕着“class”和“for”等保留属性名称跳舞,还有其他优点
从文档中:
为什么不使用JSX呢
有些人喜欢JSX,有些人不喜欢。我们没有。更具体地说,在我们看来
JSX只适合于HTML很少的组件
在…内这可以通过在代码中创建DOM元素来实现。
此外,我们喜欢将代码和HTML分开,因为这感觉很好
到目前为止,我看到的主要问题是,像
onMouseDown={someJsExpr}
这样的属性值在jsx中被神奇地引用,但在react模板中,您必须显式地引用它们一个laonMouseDown=“{someJsExpr}”
,没有魔力。我发现找到这种情况并将它们转换过来并不难。window.APP_CONFIG={……}也许吧?