react学习记录01

学习react

学习react知识点记录



一、自带文件

  • 用于配置浏览器页签+地址栏的颜色 只针对安卓手机浏览器 兼容性不好
<meta name="theme-color" content="#000000" />
  • 用于指定网页添加到手机主屏幕后的图标
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
  • 应用加壳 手机应用时要制定各种权限 在这里配置各种权限
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
  • 浏览器不支持js时调用
<noscript>You need to enable JavaScript to run this app.</noscript>

二、jsx语法

  1. 定义虚拟dom不要写引号
  2. 标签中混入js表达式时要用{}
  3. 样式的类名指定不要用class,要用className
  4. 内联样式,要用style={{key:value}} 的形式去写
  5. 只有一个根标签
  6. 标签必须闭合
  7. 标签首字母:
  • 若小写字母开头,则将该标签转为html中的同名标签
  • 若大写字母开头,react就去渲染对应的组件,若组件没有定义,则报错

三、组件

1 函数式组件

执行了 ReactDOM.render(,document.getElementById(‘test’)) 之后发生了什么

  1. react解析组件标签,找到Demo
  2. 发现组件是使用函数定义的,随后调用该函数,将返回的虚拟dom转换成真实dom,随后呈现在页面中
    注意: 组件首字母必须大写 函数必须有返回值 标签必须闭合

2. 类式组件

执行了 ReactDOM.render(,document.getElementById(‘test’)) 之后发生了什么

1.react解析组件标签,找到Demo
2. 发现组件是类式组件的,随后new 出来该实例,通过该实例调用原型上的方法
3. 将render返回的虚拟dom转换成真实的dom,呈现在页面中

小记录

  • 通过onxx属性指定时间处理函数
    a.react使用自定义事件,而不是原生DOM事件----为了更好的兼容
    b.react中的事件是通过事件委托的方式处理的----为了高效
  • 通过event.target 得到发生事件的dom元素.

四、生命周期

  • 初始化阶段:由ReactDOM.render()触发…初次渲染
      1.constructor()
      2.getDerivedStateFromProps
      3.render() === 必须用
      4.componentDidMount() ===常用 做一些初始化的事儿:开启定时器, 发送网络请求,订阅消息
  • 更新阶段:由组件内部this.setState()或者父组件render触发
     1.getDerivedStateFromProps
     2.shouldComponentUpdate()
     3.render()
     4.getSnapshotBeforeUpdate() //目前滚动到哪
     5.componentDidUpdate()
  • 卸载组件:由ReacDOM.unMountComponentAtNode()触发
     1.componentWillUnmount() ===常用 做一些收尾的事儿:关闭定时器,取消订阅消息
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值