React Hooks--与传统react写法比较

React Hooks 简介

2018年底FaceBook的React小组推出Hooks以来,所有的React的开发者都对它大为赞赏。React Hooks就是用函数的形式代替原来的继承类的形式,并且使用预函数的形式管理state,有Hooks可以不再使用类的形式定义组件了。这时候你的认知也要发生变化了,原来把组件分为有状态组件和无状态组件,有状态组件用类的形式声明,无状态组件用函数的形式声明。那现在所有的组件都可以用函数来声明了。

React Hooks 编写形式对比

先来写一个最简单的有状体组件,点我们点击按钮时,点击数量不断增加。

 

原始写法:

import React, { Component } from 'react';

class Example extends Component {
    constructor(props) {
        super(props);
        this.state = { count:0 }
    }
    render() { 
        return (
            

You clicked {this.state.count} times

); } addCount(){ this.setState({count:this.state.count+1}) } } export default Example;

React Hooks 写法:

import React, { useState } from 'react';
function Example(){
    const [ count , setCount ] = useState(0);
    return (
        

You clicked {count} times

) } export default Example;

从这两个程序的对比上可以看出Hooks本质上就是一类特殊的函数,他们可以为你的函数型组件(function component)注入一些特殊的功能。这听起来有点像以前React中的Mixins差不多哦。其实是由很多不同,hooks的目的就是让你不再写class,让function一统江湖。

转发自:https://jspang.com/detailed?id=50#toc21

你可能感兴趣的:(React)