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

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.

主站蜘蛛池模板: 宜阳县| 宾川县| 广东省| 常州市| 阿坝| 温泉县| 桂林市| 湛江市| 定远县| 财经| 临湘市| 子洲县| 沂水县| 昌黎县| 吉安市| 瑞丽市| 新疆| 昭觉县| 清徐县| 金华市| 揭东县| 迭部县| 永吉县| 阜阳市| 平度市| 金溪县| 齐河县| 通许县| 嵊泗县| 屏南县| 大方县| 双柏县| 潜江市| 弋阳县| 黎城县| 克拉玛依市| 梨树县| 西吉县| 玛多县| 梅州市| 沁水县|