Reactjs 如何以不同的方式调用React类&书信电报;脚本>;标签";? 环境 HTML生成器:Pug(Jade) ES6 transpiler:Babel 描述

Reactjs 如何以不同的方式调用React类&书信电报;脚本>;标签";? 环境 HTML生成器:Pug(Jade) ES6 transpiler:Babel 描述,reactjs,Reactjs,在componentA.jsx中有一个名为componentA的组件。在此脚本中,它将同时渲染 在组件a.jsx中: let ComponentA = React.createClass({ render: function () { ... } }); ReactDOM.render( <ComponentA />, document.getElementById('container') ); let ComponentA = React.create

componentA.jsx
中有一个名为
componentA
的组件。在此脚本中,它将同时渲染

组件a.jsx中

let ComponentA = React.createClass({
    render: function () { ... }
});

ReactDOM.render(
    <ComponentA />,
    document.getElementById('container')
);
let ComponentA = React.createClass({
    render: function () { ... }
});

目标 删除
componentA.jsx
中的
ReactDOM.render
。然后我可以在others
标记中使用
组件a
,如下面的代码。我想将渲染操作移动到其他位置

在新的
组件a.jsx
中:

let ComponentA = React.createClass({
    render: function () { ... }
});

ReactDOM.render(
    <ComponentA />,
    document.getElementById('container')
);
let ComponentA = React.createClass({
    render: function () { ... }
});
在新的
索引.pug
中:

extends ./template.pug

block content
    div#container

    script(type='text/babel')
        include ./components/building.jsx
extends ./template.pug

block content
    div#container

    script(type='text/babel')
        include ./components/building.jsx

    script(type='text/babel').
        ReactDOM.render(
            <ComponentA />,
            document.getElementById('container')
        );
扩展。/template.pug
块内容
分区#集装箱
脚本(type='text/babel')
包括./components/building.jsx
脚本(type='text/babel')。
ReactDOM.render(
,
document.getElementById('容器')
);

问题 将在浏览器中获取错误消息


ReferenceError:ComponentA未定义

在index.pug中导入ComponentA.jsx并从ComponentA.jsx导出ComponentA应该可以工作
module.exports=ComponentA
您需要捆绑(webpack或browserify),或者需要使
ComponentA
在全球可用。使用
let
将不会对其进行全局范围的限定。您必须将其分配到
窗口
或类似的位置。在index.pug中导入componentA.jsx并从componentA.jsx导出componentA应该可以工作
module.exports=ComponentA
您需要捆绑(webpack或browserify),或者需要使
ComponentA
在全球可用。使用
let
将不会对其进行全局范围的限定。您必须将其分配到
窗口
或类似的位置。