https://stackoverflow.com/questions/36651583/dynamically-add-child-components-in-react
var App = require('./App.js');
var SampleComponent = require('./SampleComponent.js');
ReactDOM.render(
<App>
<SampleComponent name="SomeName"/>
<App>,
document.body
);
var App = React.createClass({
render: function() {
return (
<div>
<h1>App main component! </h1>
{
this.props.children
}
</div>
);
}
});
var App = React.createClass({
getInitialState: function(){
return [
{id:1,name:"Some Name"}
]
},
addChild: function() {
// State change will cause component re-render
this.setState(this.state.concat([
{id:2,name:"Another Name"}
]))
}
render: function() {
return (
<div>
<h1>App main component! </h1>
<button onClick={this.addChild}>Add component</button>
{
this.state.map((item) => (
<SampleComponent key={item.id} name={item.name}/>
))
}
</div>
);
}
});
https://webpack.js.org/guides/code-splitting-css/
css-loader & style-loader & sass-loader
https://webpack.js.org/loaders/css-loader/
https://webpack.js.org/loaders/style-loader/
https://webpack.js.org/guides/asset-management/#loading-images
https://webpack.js.org/guides/asset-management/#loading-data
https://robertknight.github.io/posts/webpack-dll-plugins/
loaders
https://webpack.js.org/loaders/
https://webpack.js.org/loaders/url-loader/
https://webpack.js.org/loaders/file-loader/
https://webpack.js.org/loaders/sass-loader/
https://webpack.js.org/loaders/worker-loader/
https://webpack.js.org/loaders/json-loader/
https://webpack.js.org/loaders/json5-loader/
http://json5.org/
https://github.com/json5/json5
https://github.com/json5/json5/blob/master/package.json5
https://webpack.js.org/loaders/html-loader/
https://webpack.js.org/loaders/gzip-loader/
yarn add
https://yarnpkg.com/zh-Hans/docs/cli/add
https://yarnpkg.com/zh-Hans/docs/cli/install