创建项目

用create-react-app创建项目

  1. npx create-react-app part1

启动项目

  1. cd part1
  2. npm start
  3. # 或者yarn start

组件

index.js

  1. import ReactDOM from 'react-dom';
  2. import App from './App';
  3. ReactDOM.render(
  4. <App />,
  5. document.getElementById('root')
  6. );

App.js 组件

  1. //import React from 'react'
  2. const App = () => {
  3. const now = new Date()
  4. const a = 10
  5. const b = 20
  6. console.log('Hello from component')
  7. return (
  8. <div>
  9. <p>Hello World, it is {now.toString()}</p>
  10. <p>
  11. {a} plus {b} is {a + b}
  12. </p>
  13. </div>
  14. )
  15. }
  16. export default App

App.js用的是JSX语法
JSX 是一种“类XML”语言,这意味着每个标签都需要关闭。如

  1. <br />

多组件

修改App.js, 添加Hello组件,组件可以复用

  1. //import React from 'react'
  2. const Hello = () => (
  3. <div>
  4. <p>Hello World</p>
  5. </div>
  6. )
  7. const App = () => (
  8. <div>
  9. <h1>Greetings</h1>
  10. <Hello />
  11. <Hello />
  12. <Hello />
  13. </div>
  14. )
  15. export default App

React 的核心理念,就是将许多定制化的、可重用的组件组合成应用。

Props: 向组件传递数据

  1. const Hello = (props) => (
  2. <div>
  3. <p>Hello {props.name}, you are {props.age} years old</p>
  4. </div>
  5. )
  6. const App = () => {
  7. const name = 'Peter'
  8. const age = 10
  9. return (
  10. <div>
  11. <h1>Greetings</h1>
  12. <Hello name="Maya" age={26 + 10} />
  13. <Hello name={name} age={age} />
  14. </div>
  15. )
  16. }

props作为函数参数,接收一个对象
可以有任意数量的props
JavaScript表达式需要用花括号{}括起来

Some Notes

  1. 控制台应始终开着,发现错误应试图理解错误并解决,多用console.log()
  2. 组件名首字母必须大写
  3. 组件必须有一个根元素,如果不想有额外的div,可以用空元素<></>

    1. const Hello = (props) => (
    2. <>
    3. <p>Hello {props.name}, you are {props.age} years old</p>
    4. </>
    5. )
  4. create-react-app 会自动使项目成为一个 git 仓库,除非应用是在已有仓库中创建的。 而您很可能不希望项目成为一个存储库,因此可以在项目的根目录中运行命令rm -rf .git