这是我的简单的 Reactjs 应用程序。一切正常,但我想知道如何创建单独的模块,即;我想分离 script.js 中的组件并将其添加到另一个文件并包含它。
如何在reactjs中做到这一点?
目前,该应用程序尚未部署在任何服务器上。
脚本.js:
var CreatePanel = React.createClass({
render: function(){
return <div className="row">
<div className = "col-xs-6 col-sm-3">
<input type="text"></input>
<select></select>
</div>
</div>;
}
});
var FilterPanel = React.createClass({
render: function(){
return <div className="row">Filter Panel</div>;
}
});
React.render(<div class="container">
<CreatePanel/>
<FilterPanel/>
</div>
, document.getElementById('react-container'));
html
<!DOCTYPE html>
<html>
<head>
<script src="fb.me/react-0.13.3.min.js"></script>
<script src="cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.29/browser.js"></script>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap-theme.min.css" integrity="sha384-fLW2N01lMqjakBkx3l/M9EahuwpSfeNvV63J5ezn3uZzapT0u7EYsXMjQV+0En5r" crossorigin="anonymous">
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
<title>React Components</title>
</head>
<body>
<div id="react-container"></div>
<script type="text/babel" src="./myscript.js">
</script>
</body>
</html>
最佳答案
您可以将 CreatePanel
和 FilterPanel
组件复制到不同的文件中,并将它们包含在 myscript.js
之前。它应该看起来像这样:
创建面板.js
var CreatePanel = React.createClass({
render: function(){
return <div className="row">
<div className = "col-xs-6 col-sm-3">
<input type="text"></input>
<select></select>
</div>
</div>;
}
});
filterpanel.js
var FilterPanel = React.createClass({
render: function(){
return <div className="row">Filter Panel</div>;
}
});
myscript.js
React.render(<div class="container">
<CreatePanel/>
<FilterPanel/>
</div>
, document.getElementById('react-container'));
index.html
<!DOCTYPE html>
<html>
<head>
<script src="fb.me/react-0.13.3.min.js"></script>
<script src="cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.29/browser.js"></script>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap-theme.min.css" integrity="sha384-fLW2N01lMqjakBkx3l/M9EahuwpSfeNvV63J5ezn3uZzapT0u7EYsXMjQV+0En5r" crossorigin="anonymous">
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
<title>React Components</title>
</head>
<body>
<div id="react-container"></div>
<script type="text/babel" src="./createpanel.js">
</script>
<script type="text/babel" src="./filterpanel.js">
</script>
<script type="text/babel" src="./myscript.js">
</script>
</body>
</html>
关于javascript - Reactjs - 创建单独的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37215888/