创建项目
用create-react-app创建项目
npx create-react-app part1
启动项目
cd part1npm start# 或者yarn start
组件
index.js
import ReactDOM from 'react-dom';import App from './App';ReactDOM.render(<App />,document.getElementById('root'));
App.js 组件
//import React from 'react'const App = () => {const now = new Date()const a = 10const b = 20console.log('Hello from component')return (<div><p>Hello World, it is {now.toString()}</p><p>{a} plus {b} is {a + b}</p></div>)}export default App
App.js用的是JSX语法
JSX 是一种“类XML”语言,这意味着每个标签都需要关闭。如
<br />
多组件
修改App.js, 添加Hello组件,组件可以复用
//import React from 'react'const Hello = () => (<div><p>Hello World</p></div>)const App = () => (<div><h1>Greetings</h1><Hello /><Hello /><Hello /></div>)export default App
React 的核心理念,就是将许多定制化的、可重用的组件组合成应用。
Props: 向组件传递数据
const Hello = (props) => (<div><p>Hello {props.name}, you are {props.age} years old</p></div>)const App = () => {const name = 'Peter'const age = 10return (<div><h1>Greetings</h1><Hello name="Maya" age={26 + 10} /><Hello name={name} age={age} /></div>)}
props作为函数参数,接收一个对象
可以有任意数量的props
JavaScript表达式需要用花括号{}括起来
Some Notes
- 控制台应始终开着,发现错误应试图理解错误并解决,多用console.log()
- 组件名首字母必须大写
组件必须有一个根元素,如果不想有额外的div,可以用空元素<></>
const Hello = (props) => (<><p>Hello {props.name}, you are {props.age} years old</p></>)
create-react-app 会自动使项目成为一个 git 仓库,除非应用是在已有仓库中创建的。 而您很可能不希望项目成为一个存储库,因此可以在项目的根目录中运行命令
rm -rf .git。
