博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
React Hooks
阅读量:4088 次
发布时间:2019-05-25

本文共 2153 字,大约阅读时间需要 7 分钟。

Hooks简介

Hooks 是 React v16.7.0-alpha 中加入的新特性。它能够让函数组件拥有自己的 state 。react 16.8.0 稳定版本支持 Hooks ,本文就是演示 Hooks 在项目中的使用示例,对于内部的原理这里就不做详细说明。

useState

import React, { useState  } from 'react';function Example() {    // 声明一个名为“count”的新状态变量    const [count, setCount] = useState(0);    return (        

You clicked {count} times

);}export default Example;

useEffect

import React, { useEffect  } from 'react';function Example() {    //生命周期中的componentDidMount    useEffect(() => {        console.log('componentDidMount')      },[]);    //生命周期中的componentDidMount    useEffect(() => {        console.log('componentDidMount')        return ()=>{ //componentWillUnmount            console.log('componentWillUnmount')        }    },[]);    //生命周期中的componentDidMount 和 componentDidUpdate    useEffect(() => {        console.log('类似于 componentDidMount 和 componentDidUpdate:')    });    return (        
);}export default Example;

componentDidMount、componentDidUpdate、componentWillUnmount 的使用方法

useMemo

import React, { useMemo  } from 'react';export default ({a}) => {    const exampleA = useMemo(() => 
{a}
, [a]); //当a的值 发生变化时候才会渲染 return exampleA}

useRef

import React, { useRef  } from 'react';export default ({a}) => {    const inputEl = useRef(null);    return }

react-router 获取路由参数

import React from 'react';import { withRouter } from 'react-router-dom';export default withRouter((props) => {    return 
{props.match.params.id}
})

react-redux和redux-saga 的使用

import React, { useEffect } from 'react';import { connect } from 'react-redux';const mapStateToProps = (state) => {  return {      list:state.list  };};const mapDispatchToProps = (dispatch) => {  return {      getList:()=>{},//只是实例使用方式  };};const useAddField = (props:Props) => {  useEffect(()=>{      console.log('----------第一次渲染')      this.props.list();      return ()=>{        console.log('-------退出')      }  },[])   //componentDidMount  console.log(props.list)  //redux里面的值  return 
};export default connect(mapStateToProps, mapDispatchToProps)(useAddField);

参考文档

原文

转载地址:http://cyzii.baihongyu.com/

你可能感兴趣的文章
【JAVA数据结构】先进先出队列
查看>>
String类的intern方法随笔
查看>>
【泛型】一个简易的对象间转换的工具类(DO转VO)
查看>>
1.随机函数,计算机运行的基石
查看>>
MouseEvent的e.stageX是Number型,可见as3作者的考虑
查看>>
在mc中直接加aswing组件,该组件还需最后用validate()方法
查看>>
移植Vim配色方案到Eclipse
查看>>
从超链接调用ActionScript
查看>>
谈谈加密和混淆吧[转]
查看>>
TCP的几个状态对于我们分析所起的作用SYN, FIN, ACK, PSH,
查看>>
网络游戏客户端的日志输出
查看>>
关于按钮的mouseOver和rollOver
查看>>
Netty框架
查看>>
Socket经验记录
查看>>
对RTMP视频流进行BitmapData.draw()出错的解决办法
查看>>
FMS 客户端带宽计算、带宽限制
查看>>
在线视频聊天(客服)系统开发那点事儿
查看>>
SecurityError Error 2148 SWF 不能访问本地资源
查看>>
Flex:自定义滚动条样式/隐藏上下箭头
查看>>
烈焰SWF解密
查看>>