温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

react native基础

发布时间:2020-07-04 09:47:47 来源:网络 阅读:1395 作者:漫漫的king 栏目:移动开发

react native 的两个核心的属性控制改变组件:props和state。
props是在父组件中进行设置,只要设置完成那么在组件的生命周期就定死了,不会发生改变。
针对数据变化修改的情况,我们需要使用state属性;一般情况下,我们需要在constructor方法中初始化state,然后在你想要修改更新的时候调用setState方法。

方法名 作用 调用次数
constructor 构造函数,初始化需要的state 1次
componentWillMount 控件渲染前触发 1次
render 渲染控件的方法 多次
componentDidMount 控件渲染后触发 1次
componentWillReceiveProps 组件接收到新的props时被调用 多次
shouldCompentUpdate 当组件接收到props和state时被调用 多次
componentWillUpdate props或者state改变,并且此前的shouldComponentUpdate为true会调用该方法 多次
componentDidUpdate 组件重新渲染完成后会调用此方法 多次
componentWillUnmount 组件卸载和销毁之前被调用 1次

react native的组件的生命周期:
react native基础

从图中可以看出来组件的生命周期有三个阶段:
第一个阶段:初始化项目后,执行构造器,页面加载之后,第一次渲染页面,
第二个阶段:是组件的运行中阶段: 在这个阶段主要点就是:state状态的改变或者props属性的改变, 当state发生改变的时候,会调用shouldComponentUpdate()方法, 这个方法是返回是一个boolean类型,用于判定state状态是否改变,返回ture的时候,接下来将会执行componentWillUpdate()方法更新组件,然后再一次的执行render()方法,渲染页面,之后执行componentDidUpdate()方法,然后如果还有state状态发生改变的会就还是这个流程执行; 但 如果props属性发生改变的时候,就是触发componentWillReceiveProps()方法,然后在执行shouldComponentUpdate()方法,接下来的流程就一样了; 这就是运行中执行的流程;
第三个阶段:组件的卸载,这个期间我现在接触的比较少,因为react native 对这个阶段是自己封装好的,没太用过,先了解以下:
组件卸载的时候,首先执行Unmount()方法,然后执行componentWillUnmount()方法然后就是结束了;
在使用这个地方的时候, 有一个示例:就是对于本地存储的时候,当组件卸载的时候,可以在第三个阶段对 本地储存的数据进行清空操作;

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI