美文网首页
react生命周期测试记录

react生命周期测试记录

作者: huaziHear | 来源:发表于2016-08-07 01:26 被阅读0次
1 react生命周期相关的hook
    a. 初始化:getInitialState
    b. 初始化:getDefaultProps
    c. 挂载: componentWillMount 
    d. 挂载: componentDidMount
    e. 更新:componentWillReceiveProps
    f. 更新:shouldComponentUpdate
    g. 更新:componentWillUpdate
    h. 更新:componentDidUpdate
    i. 卸载:componentWillUnmount
2 测试结果记录

1, react的生命周期个人认为可以分为五个部分:初始化(props,state)、挂载、更新、卸载以及render。
2, 所有的测试结果将主要围绕hook,state和props以及渲染展开。
3,react在第一次渲染组件的时候,只触发初始化、挂载、渲染部分的hook函数。需要注意的是,在render之后被触发的hook中使用setState都会触发二次渲染,这些hook包括componentDidMount和componentDidUpdate。
4,在渲染之前componentWillMount和componentWillReceiveProps中使用setState都不会触发二次渲染。但是这并不说明,渲染之前的hook都不触发二次渲染,比如下面所述。
5,一个有趣的测试是,在componentDidUpdate和componentWillUpdate中setState一个state值自增。你猜怎么着,死循环。页面被阻塞,瞬间浏览器内存吃紧不得不强制关闭浏览器。
6, 在componentWillUnmount中可以释放一些组件中的无用变量。但是在componetWIllUnmount中使用setState不会触发渲染。
7,据说在getInitialState或者构造中使用props赋值给state会发生严重的bug,是因为getInitialState和构造都只被调用一次吗?我猜是,测试结果确认这个state不会再次被更新。建议这个操作放到componnetWillReceiveProps中使用setState完成不管是语义上还是逻辑上都更合适一些。
8,子组件的所有hook都是在父组件render的时候开始,和我们正常的思维逻辑一致。并列几个子组件,子组件的生命周期都是按序的,嵌套的情况也是符合逻辑的,并没有什么意外情况发生。
9,propTypes和defaultProps在es2015中,需要写在class的外面,类似App.propTypes和App.defaultProps。另外需要注意的是propTypes只在开发和测试过程中有用,建议在生产环境删除。propTypes的检查结果有可能是一个警告,但是这并不会直接导致程序运行失败。
10.关于mixin这个东西,es2015中已经不建议使用了。查阅资料发现有个高阶组件替换mixin的文章。大致的意思是给组件套一层,类似于从父级别继承方法。

相关文章

  • react生命周期测试记录

    1 react生命周期相关的hook 2 测试结果记录 1, react的生命周期个人认为可以分为五个部分:初始...

  • React基础

    学习记录 常用的生命周期方法 生命周期图谱https://projects.wojtekmaj.pl/react-...

  • React概念图

    React概念图 React组件生命周期概念图 参考文档:React入门教程 组件生命周期React:组件生命周期...

  • React基础篇之组件的生命周期

    引出生命周期 react生命周期(旧) react生命周期(新) getSnapshotBeforeUpdate的...

  • React生命周期

    React v16.0前的生命周期 React v16.4+ 的生命周期图 React v16.9后这些生命周期钩...

  • React v16 生命周期

    React 16 生命周期 React 16.3 新增的生命周期方法 逐渐废弃的生命周期方法: 一般将生命周期分成...

  • 学习并实现react (4)

    实现生命周期 生命周期介绍 React 生命周期图 React 子组件在父组件下的生命周期流程 实现 compon...

  • React面试题 整理脑图

    react基础 React生命周期 react-router react进阶 react Hooks redux 其他

  • react/vue常见问题整理

    一、react 1. react生命周期 react 16生命周期相对于15的变化:componentWillMo...

  • React 组件生命周期

    组件生命周期 参考阅读: component-lifecycle react组件生命周期过程说明 react 组件...

网友评论

      本文标题:react生命周期测试记录

      本文链接:https://www.haomeiwen.com/subject/jziksttx.html