React Hooks简单总结

hooks基础教程地址

https://www.bilibili.com/video/BV1y4411Q7yH?p=1

react hooks

react hooks必须在react 16.8及其以上版本才能生效

useState

const [count, setCount] = useState(0); // 数组解构
// 等同于
const _useState = useState(0);
const count = _userState[0];
const setCount = _userState[1];
// useState不能写在条件语句里面,它只能顺序执行

useEffect

useEffect 等同于componentDidMount(组件挂载的时候)和componentDidUpdate(组件更新的时候)与componentWillUnMount(组件被销毁前执行)三个个生命周期函数。
useEffect 是异步的,它不影响我们的render更新,但是实时计算页面大小就会出现问题,因为它是异步的。

const [count, setCount] = useState(0);
useEffect(() => {
    console.log('test content');
    return () => {
        consolo.log('count状态发生改变执行销毁');
    };
}, [count]);
// 如果不设置[]或者[count],那么只要组件被更新都会执行componentWillUnMount,[]为当前组件被销毁前执行

组件通信

https://www.yuque.com/senkita/reviews/gbipsa

useReducer

useReducer更像是reducer的缩减实现方法

import React, {useReducer} from 'react';
function reducerDemo() {
    const [count, dispatch] = useReducer((state, action) => {
        switch(action) {
            case 'add':
                return state++;
            case 'sub':
                return state--;
            default: 
                return state;
        }
    }, 0)
    return (
        <div>
           <h1>{count}</h1> 
           <button onClick={() => dispatch('add')}>add</button>
           <br />
           <button onClick={() => dispatch('sub')}>sub</button>
        </div>
    );
}
export default reducerDemo;

useReducer + useContext实现redux

https://blog.csdn.net/pz1021/article/details/104763207

useMemo实现shoudComponentUpdate

https://blog.csdn.net/pz1021/article/details/104763207

useRef获取Dom,和input实现双向数据绑定并且赋值给变量

https://blog.csdn.net/pz1021/article/details/104763207

自定义Hooks函数

https://blog.csdn.net/pz1021/article/details/104763207

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值