Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 将模板分离到React中的外部文件_Reactjs - Fatal编程技术网

Reactjs 将模板分离到React中的外部文件

Reactjs 将模板分离到React中的外部文件,reactjs,Reactjs,我正在为一个客户端开发ReactJS应用程序。我希望客户端能够自定义应用程序中的一些配置和模板。因此,我创建了一个config.js文件 window.APP_CONFIG = { url: 'example.com', template: { item: ' <div> <h3>A new item title</h3> { item.de

我正在为一个客户端开发ReactJS应用程序。我希望客户端能够自定义应用程序中的一些配置和模板。因此,我创建了一个
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模板中,您必须显式地引用它们一个la
onMouseDown=“{someJsExpr}”
,没有魔力。我发现找到这种情况并将它们转换过来并不难。

window.APP_CONFIG={……}也许吧?