欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ReactNative入门

程序员文章站 2022-07-16 15:10:13
...

ReactNative入门
1、RN原理:
RN就是一个JS文件;本质是JAVA与JS互相调用来通信;JS调用JAVA是JS唤起Native模块,调用完成后Native层通过bridge来取线程中的数据;JAVA调用JS;
从JS开发者的角度看,利用JavaScript编写逻辑,并且根据React独创的 Virtual DOM 机制,利用虚拟DOM渲染页面,JS执行完页面也就渲染完成了;
从IOS开发者的角度,RN就是以JS的形式告诉Objective-C需要执行什么,然后IOS去执行,同理安卓则是监听事件的形式执行JS,RN与原生的这些交互才是RN能适应三端的原因
2、RN安装:
必须安装:Node、React Native 命令行工具、Python2 以及 JDK 和 Andriod Studio
流程见官网:https://reactnative.cn/docs/getting-started/
3、RN基础概念:
ReactElement和ReactClass
ReactElement是一个描述DOM节点或component实例的字面级对象。通过主要包含:ReactElement分为 DOM Element 和 Component Elements 两类
ReactClass是我们写的components,由于虚拟DOM,我们的代码都是通过Components组装起来的
4、关于React:
特性:1、组件化;2、虚拟DOM;3、JSX语法糖;4、单向数据绑定;
生命周期:
Reactv16.3之前是7个阶段,在之后减去了3个阶段,新增了2个阶段:

constructor() {
    1. Initializing state
  }
  componentWillMount() { // 最新去掉
    // 在render之前,永远只执行一次
  }
  componentDidMount() {
    //组件加载完成
  }
  componentWillReceiveProps() { // 最新去掉
    // 再接收一个新的props的时候被调用
  }
  shouldComponentUpdate() {
    // 返回Boolen,在接受新的props或state时调用
  }
  componentWillUpdate(nextProps, nextState) { // 最新去掉
    // 接受一个新的props或state,但还没render时调用

  }
  static getDerivedStateFromProps(){ 
    //新增,配合componentDidUpdate,可以覆盖componentWillReceiveProps的所有用法
    // 在组件构建之后(虚拟dom之后,实际dom挂载之前) ,以及每次获取新的props之后
 }
  render() {
    // 虚拟DOM渲染
  }
  getSnapshotBeforeUpdate(prevProps, prevState) { 
    //新增,配合componentDidUpdate, 可以覆盖componentWillUpdate的所有用法
    // update发生的时候,在render之后,但在节点挂载前
  }
  componentDidUpdate(prevProps, prevState, snapshot) {
    // 更新后立即执行
  }

  componentWillUnmount() {
    // 执行一些需要清理的任务
  }
相关标签: RN