美文网首页
认识React Hooks

认识React Hooks

作者: ShoneSingLone | 来源:发表于2020-11-09 15:13 被阅读0次

    What

    翻译一下就是“钩子”。当然,这样说还是相当于没说,那就做一点补充。
    比如,直观理解计算机的行为就是输入->处理->输出,对吧?我们简单打印一下

    console.log('hi');
    

    然后这个事情就像一条直线,直接执行输出hi完事。

    image.png

    很明显,每次都是hi肯定没什么实际作用,所以我们需要变量,定义函数,传入参数,让这个打印行为变得更具实际。

    var content="ha";
    
    fun print(privateContent){
      console.log(privateContent);
    }
    
    print(content);
    

    自然而然,我们想到了OOP(面向对象编程)。在OOP中,将相关的属性状态行为抽象内聚为一个整体,对外表现为一个对象。

    class Person{
      constructor(someWord) {
        this.content= someWord;
      }
     sing(){
        console.log(`sing ${content}`);
     }
     say(){
        console.log(`say ${content}`);
     }
    }
    
    var shone = new Person("woo");
    shone.sing();
    shone.say();
    
    

    回到前端,主要是视图。视图的状态与行为不一定要耦合(不一定要抽象为一个类),因为是在跟视图打交道,React一直在推行图形渲染的无状态方式,想想canvas绘图的render。

    钩子的意思就是说,本身没有数据状态,每次运行都是从外部获取状态,用“钩子”钩进来用。
    这个时候就想一条直线有几个圈圈,从外头圈点东西进来。嗯,就是这样。


    image.png

    跟DOM打交道有许多桎梏,我觉得前端人在造概念上是越走越远了。可以同时类比一下“生命周期”、“依赖注入”、“回调”这些概念,本质上应该都是在做解耦。不管怎样的称呼和概念,请记住一点,我们搞花里胡哨的目的只是为了复用提高开发效率好维护易扩展

    How

    相关文章

      网友评论

          本文标题:认识React Hooks

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