引入

  1. yarn global add create-react-app

创建项目

  1. create-react-app react-demo01

在目录中,您可以运行以下命令:

  1. yarn start
  2. // 启动开发服务器。
  3. yarn build
  4. // 打包
  5. yarn test
  6. // 测试
  7. yarn eject
  8. // 删除此工具,并将构建依赖项,配置文件和脚本复制到app目录中。如果这样做,您将无法返回!

在 src 目录里面只保留index.js 其他的都可以删掉。

这样就引入了react。

回顾 JS 的 6个6

  1. let i
  2. for(i=0;i<6;i++){
  3. setTimeout(()=>console.log(i),1000)
  4. }
  5. // 执行出来是 6个6 不信你可以去执行以下?

为什么会执行出6个6 呢。原因是 for 是一个同步任务,setTimeout是一个异步任务,里面的函数要等 setTimeout 执行时才会调用,当for 循环到 i=6 是结束循环,这时候才会去执行 setTimeout 所以会打出6个6。

如何解决这个问题呢 我们可以执行下面的代码

方法一:

  1. let i
  2. for(i=0;i<6;i++){
  3. let j = i
  4. setTimeout(()=>console.log(j),1000)
  5. }
  6. // 执行 0 1 2 3 4 5

这里面 let 声明的变量的作用域在 for(){这里}。for的每次循环都会让let j 新开一个作用域。这样就保留了 0-5的值。这里就有一个语法糖。

  1. for( let i=0;i<6;i++){
  2. setTimeout(()=>console.log(i),1000)
  3. }

方法二 运用立即执行函数

  1. for( var i=0;i<6;i++){
  2. setTimeout(
  3. !function(j){ // 这里的j是形参
  4. console.log(j);
  5. }(i)
  6. )
  7. }

JSX(JS 扩展)

  • 全局安装yarn global add create-react app
  • 初始化目录create-react- app react demo-1
  • 进入目录cd react-demo-1
  • 为了方便学习,src目录只留下两个文件
  • 为了方便学习,把public/index.html中多余的删掉
  • 开始开发yarn start
  • 看看App.js是默认就使用了jsx语法
  • 那是因为webpack让JS默认走babel-loader
  • webpack 里面默认就有。

创建完项目后 ,整个项目只留下以下目录

35 React起手式 - 图1

使用小贴士:

  • 添加class时使用 className
  • 标签里面的所有JS代码都要用{}抱起来
  • 如果你需要变量n,那么就用{}把n包起来
  • 如果你需要对象,那么就要用{}把对象包起来,如{ {name:'frank'}}