官术网_书友最值得收藏!

Building the application components

Let's start building the application from top to bottom. The first two entries in the app are the index.html and index.js files. You can name them main.js or app.js or anything you want. I have a preference of naming index (starting with lowercase) as the first entry of any directory in my apps. That said, all React components should be capitalized when you import them; otherwise, React will thread them as HTML tags. To keep it intuitive, you can have the component names and their files' names capitalized.

In the index.html file, we can have our root DOM element:

<head>
<title>Shopping Cart</title>
</head>
<body>
<div id="root"></div>
</body>

We have a pretty simple HTML with only the <head> and <body> tags, and one <div> that will be the root of the parent top-level component, App.

In HTML, we don't have to specify anything else; Meteor will load it and add all the necessary scripts for us:

You can investigate what Meteor added to the app in the browser's console.

Next is the index.js--the first entry point on the client:

import React from 'react';
import { Meteor } from 'meteor/meteor';
import { render } from 'react-dom';
import App from './containers/App';
Meteor.startup(() => {
render(<App />, document.getElementById('root'));
});

We import the App component, then on Meteor.startup() execution, we mount it to the <div> tag with the root ID.

Moving to the containers directory, the first component we need to initialize is the App:

import React from 'react';
import Products from './ProductsContainer';
import Cart from './CartContainer';
class App extends React.Component {
render() {
return (
<div>
<h2>Store</h2>
<Products/>
<Cart/>
</div>
)
}
}
export default App;

The only thing this component will do is render the container components that will take care of the data and their children.

主站蜘蛛池模板: 仲巴县| 巴彦县| 利津县| 类乌齐县| 桑植县| 旅游| 丰镇市| 尚义县| 恭城| 乾安县| 武汉市| 临夏市| 定南县| 河南省| 班玛县| 乌兰浩特市| 二手房| 大港区| 石棉县| 三河市| 浙江省| 汤原县| 历史| 台山市| 平和县| 太和县| 孝感市| 合川市| 门源| 西华县| 葵青区| 长沙市| 大姚县| 扎兰屯市| 静宁县| 来安县| 潮安县| 故城县| 将乐县| 南皮县| 云南省|