Javascript 如何在react中将单独文件中的组件链接在一起
在我的app.jsx文件中说我正在呼叫:Javascript 如何在react中将单独文件中的组件链接在一起,javascript,reactjs,material-ui,Javascript,Reactjs,Material Ui,在我的app.jsx文件中说我正在呼叫: var Main = require('./components/main.jsx'); ReactDOM.render( <Main />, document.getElementById('container') ); var Main=require('./components/Main.jsx'); ReactDOM.render( ,document.getElementById('容器')
var Main = require('./components/main.jsx');
ReactDOM.render(
<Main />, document.getElementById('container')
);
var Main=require('./components/Main.jsx');
ReactDOM.render(
,document.getElementById('容器')
);
在main.jsx文件中,我想从不同的文件调用两个react类:
var comp1 = require('./comp1.jsx')
var comp2 = require('./comp2.jsx')
const MyMainComponent = React.createClass({
return(
<comp1></comp1>
<comp2></comp2>
);
});
module.exports = MyMainComponent;
var comp1=require('./comp1.jsx')
var comp2=require('./comp2.jsx')
常量MyMainComponent=React.createClass({
返回(
);
});
module.exports=MyMainComponent;
在comp1文件中,我有一个简单的按钮和对话框:
var comp1 = React.createClass({
return(
<RaisedButton label="comp1" primary={true} onTouchTap={this._handleTouchTap} />
<dialog name = "test"></dialog>
_handleTouchTap: function(){
test.show()
};);
var comp1=React.createClass({
返回(
_handleTouchTap:function(){
test.show()
};);
在我的comp2文件中,除了重命名按钮外,我的代码与comp1.jsx完全相同我编写了上面的代码,所以我不确定一般原则或语法是否正确,但我在很高的层次上询问如何实现我上面描述的目标。谢谢你,我想你需要的是异步模块定义(AMD)。 您可以使用requirejs实现这一点 首先,您必须对其进行配置,您可以在app.js文件或任何您想要的文件中进行配置:
require.config({
paths: {
react: 'vendor/react',
reactDOM: 'vendor/react-dom',
JSXTransformer: 'vendor/JSXTransformer'
}
});
require(['reactDOM', 'jsx!main'], function(ReactDOM, Main) {
ReactDOM.render(<Main />, document.getElementById('container'));
});
main.jsx
define(['jsx!comp1', 'jsx!comp2'], function(Comp1, Comp2) {
var Main = React.createClass({
render: function() {
return (
<section>
<Comp1 />
<Comp2 />
</section>
);
}
});
return Main;
});
define(['jsx!comp1','jsx!comp2'],函数(comp1,comp2){
var Main=React.createClass({
render:function(){
返回(
);
}
});
回水总管;
});
最后,在HTML文件中:
<script data-main="js/app" src="js/vendor/require.js"></script>
如果你是初学者,这可能看起来很复杂,但在处理大型项目时,这是值得的,所以最好养成习惯
我还建议您选择一些关于编程的书籍。试试Javascript的好部分,务实的程序员您使用的是node.js吗?您想在服务器端呈现react类吗?@LyesBEN否,在此之前,我想知道如何将类包含在另一个类中。基本上,在不同的t文件我想将它们合并到一个组件中。你想将不同文件中的组件一起使用吗?@LyesBEN是的,没错。facebook提供的文档是为了在同一个文件中声明这些组件,但如果我在不同的文件中声明这些组件,我似乎无法让它工作。
<script data-main="js/app" src="js/vendor/require.js"></script>