美文网首页前端
React-使用hook的组件外层逻辑不要太复杂

React-使用hook的组件外层逻辑不要太复杂

作者: xhbisme | 来源:发表于2019-03-24 10:06 被阅读0次

    一切都要从函数组件说起。在react没出hook之前,function没有内部状态state。自从出了hook之后,允许函数组件使用内部状态,可以自行刷新,并多了其它一些操作。

   函数组件的性质,说到底,函数组件只是个函数,没有像class那样做一些控制渲染的浅比较。它只负责返回element。所以用来做木偶(受控)组件比较合适。

    我们用useState来说明,为什么函数组件的外层逻辑不要太复杂?

demo

    我们在a定义之前,看下输出,在之后看下输出,用useState来控制刷新,每次点击按钮会发现:

结果

    每次的a都是被重新定义的。这说明函数组件在刷新的时候,每次都会自执行一遍,将里边的变量和函数统统定义一遍。如果在定义a的地方不只是定义a,而是一套逻辑,那,每次render的时候都会将逻辑走一遍,很消耗性能。

    之前在看class的时候,尤其是自定义class,编译后会将constructor里的内容直接放在类函数里,是一种模拟的手段。但在执行的时候并不会重新定义。这里不要混淆,毕竟类被new 了之后,除了静态的变量和方法,其它都被实例化了,只有重新new的时候,才会再走一遍。但函数组件的刷新,每次都会像new一样,重新走一遍。

    

相关文章

  • React-使用hook的组件外层逻辑不要太复杂

    一切都要从函数组件说起。在react没出hook之前,function没有内部状态state。自从出了hook...

  • REACT HOOK的一点总结

    hook 诞生前的问题 1. 组件内逻辑复杂 有状态的组件,当业务复杂时组件间的共享状态变得频繁和复杂,使之难以维...

  • React深入(二)

    Hook React 16.8.0 是第一个支持 Hook 的版本; 使用原因 使用组件之间复用逻辑更容易(对比高...

  • react16.7 编写自己的钩子

    构建自己的Hook可以将组件逻辑提取到可重用的函数中。 当我们学习使用`Effect Hook时,我们从聊天应用程...

  • 在React中创建自定义hook

    什么是自定义hook? 使用自定义hook可以将某些组件逻辑提取到可重用的函数中。 自定义hook是一个从use开...

  • react hook

    一、为什么要使用react hook 1. 在组件之间复用状态逻辑很难(状态逻辑复用) React 没有提供将可复...

  • React 函数式组件

    简单函数式组件 使用 hook 的函数式组件

  • React Hooks

    State Hook State Hook是一个在函数组件中使用的函数(useState), 用于在函数组件中使用...

  • 前端技术应用复杂场景

    React和Vue 1. 组件开发 使用React和Vue开发一个复杂组件,包含复杂逻辑的展示,比如实现一个复杂的...

  • 03-react-跨组件级通信Context

    react-跨组件级通信- Context 之前编写组件都是通过props或者state的方式来传递组件, 但组件...

网友评论

    本文标题:React-使用hook的组件外层逻辑不要太复杂

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