教程 https://www.youtube.com/watch?v=Ke90Tje7VS0
react只是一个view层次的库
jsx是什么?
jsx会被替换为React.createElement

react jsx的属性和html dom有区别的属性,下面的连接可以用来解释为什么style属性只接受map类型的value
https://reactjs.org/docs/dom-elements.html

babel是什么?babel在react里面的的作用是什么?

  1. 将jsx转换为js
    虽然没有直接使用React,但是为什么还要引入呢?
    我们的react应用代码里面一般都会有 用来引入React的语句,虽然在代码表面看来没有直接使用React的地方,但是当我们写下jsx的时候就要清楚,babel会把jsx转化成js代码,而这个js代码恰好用到了React
    import React from ‘react’;

创建react 元素
import React from ‘react’
React.createElement(“h1”, null, “hello”)

把react虚拟dom render到真实dom的方法
import ReactDOM from ‘react-dom’

Warning: Each child in an array or iterator should have a unique "key" prop.<ul>{this.state.tags.map(tag => <li >{tag}</li>)}</ul>记得定义唯一的key<ul>{this.state.tags.map(tag => <li key={tag}>{tag}</li>)}</ul>
TypeError: Cannot read property 'state' of undefined
因为this此时是undefined
在不同的地方调用,this所指的内容是不一样的
解决方法:
方法一.使用箭头函数,因为箭头函数本身就是继承了所在的this
方法二.使用constructor并进行bind

react处理事件

onClick

修改react state

this.setState()不要直接去修改this.state

state变化时发生了什么

react handle函数传参数

在不需要参数的情况下,我们已经会使用了,当需要传递参数的时候要怎么做呢?
先定义一个需要传参数的函数
然后使用箭头函数

react this.props 在组件中只能是只读的

All React components must act like pure functions with respect to their props.

this.props.children 的使用

组件标签之间的内容是this.props.children
但是我们有对值的变化的需求要怎么办?我们可以把需要变化的值存放到state中

react 开发者插件

$r 的作用可以选择react的纯js对象

就像$0可以代表dom一样, 在调试console中输入$0.click()可以模拟点击

rule of thumb

组件的state最好是由组件自身进行修改
所以最后的handle函数是在需要修改state的组件上
解决方法就是通过props 传递给它一个onHandle函数

single source of truth

每一个component有其自己的local state
解决方法是remove the local state ,使用props进行替换

非常重要的快捷键

WebStorm
记得使用react-snippets 插件或者自己定义一些模版代码
代码块,右键, refactor->Extract->Method 快速生成代码

create-react-app第一步相关推荐

  1. 深入浅出 Create React App

    本文差点难产而死.因为总结的过程中,多次怀疑本文是对官方文档的直接翻译和简单诺列:同时官方文档很全面,全范围的介绍无疑加深了写作的心智负担.但在最终的梳理中,发现走出了一条与众不同的路,于是坚持分享出 ...

  2. Vite 3.0 vs. Create React App:比较和迁移指南

    Create React App (CRA) 在 React 社区及其整个生态系统的发展中发挥了关键作用. 在突发奇想构建本地 React 开发环境时,它是不同技能的开发人员的首选工具. CRA 拥有 ...

  3. 如何使用Create React App DevOps自动化工作中所有无聊的部分

    by James Y Rauhut 詹姆士·鲁豪(James Y Rauhut) 如何使用Create React App DevOps自动化工作中所有无聊的部分 (How I automate al ...

  4. Create React App 2.0 正式发布:Babel 7、webpack 4 等

    英文原文:Create React App 2.0: Babel 7, Sass, and More – React Blog 以下是简要翻译 React 本身是没有附带任何编译工具的,如果没有测试运 ...

  5. 【翻译】基于 Create React App路由4.0的异步组件加载(Code Splitting)

    基于 Create React App路由4.0的异步组件加载 本文章是一个额外的篇章,它可以在你的React app中,帮助加快初始的加载组件时间.当然这个操作不是完全必要的,但如果你好奇的话,请随 ...

  6. 在 .NET Core 5 中集成 Create React app

    翻译自 Camilo Reyes 2021年2月22日的文章 <Integrate Create React app with .NET Core 5> [1] 本文演示了如何将 Crea ...

  7. Create React App 2.0 华丽登场

    贺! Create React App 2.0 在 10/02 正式发布 ?????? Create React App 是由官方所维护的开发工具,主要提供了专属于 React 开发环境的前置工作.简 ...

  8. Create React App proxy配置

    最近又吃了没文化的亏(哭晕在洗手间≧ ﹏ ≦) 做后台管理系统的时候,需要调一个易连云打印小票的接口, 项目框架是 Create React App+typescript,后端是node.js 本媛负 ...

  9. Create React App从使用到Docker部署

    一.介绍 Create React App 是 React 脚手架,它帮我们可以快速生成项目的工程化结构,脚手架让项目从搭建到开发再到部署,整个流程变得快速和便捷. 二.安装 Create React ...

  10. react快速开始(二)-使用脚手架Create React App创建react应用

    文章目录 react快速开始(二)-Create React App入门 什么是Create React App 快速开始 使用IDE webstrom创建react项目 create react a ...

最新文章

  1. 因脉脉上的匿名消息,拼多多员工被开除了!
  2. window.location.href如何多次请求_RabbitMQ如何保证幂等性?
  3. Elasticsearch 教程--入门
  4. 阿里云安装git_阿里云服务器快速建网站_安装BT宝塔面板和wordpress
  5. C++STL容器大全
  6. Try to create new xs project in AG3
  7. ubuntu 符号连接的层数过多_Linux符号连接的层数过多解决
  8. HFSS报错A geometry selection is required for selection
  9. SVN 定时 更新代码 Demo
  10. 微信小程序把玩(三十三)Record API
  11. python memoryview_memoryview的用法
  12. Microsoft SQL server 2005的基本操作
  13. ubuntu20.04离线安装rabbitvcs
  14. 手机点餐系统概述_餐厅点餐系统需求分析
  15. 用CAD看图软件查找文字需要怎么做
  16. Android高德地图导航or语音播报
  17. 查看mysql访问记录
  18. C语言中void cpy,关于C/C++ void指针,使用void指针拷贝int 数组
  19. element组件---其他组件
  20. Fabric CA 官方用户指南

热门文章

  1. comboBox绑定对象数组 c# 1614065159
  2. 9203班级纪律 1202
  3. python-描述符的分类
  4. 查看占用指定端口的程序
  5. XML与HTML的作用不同
  6. rsyslod服务配置
  7. linux设备驱动之USB主机控制器驱动分析 【转】
  8. Java中的位移运算符
  9. 数据访问基础类(基于Access数据库)
  10. GARFIELD@03-26-2005