React基础之自定义hook函数

自定义Hook是以use打头的函数,通过自定义Hook函数可以来实现逻辑的封装与复用

封装自定义hook的通用思路

1.声明一个以use大头的函数

2.在函数体内封装可复用的逻辑

3.把组件中用到的状态或者是状态以对象或是数组的形式return出去

4.在需要使用组件的地方,执行这个函数,结构出需要使用的状态和回调进行使用

import React, { useState } from 'react';

import { useEffect } from 'react';

function useToggle(){

  const [value,setValue]=useState(true)

  const toggle=()=>{

    setValue(!value)

  }

  //那些状态和回调函数需要在其他组件中使用 return

  return{

    value,

    toggle

  }

}

function App() {

 const {value,toggle} =useToggle()

  return (

    <div>

      {value&& <div>this is div</div>}

      <button onClick={toggle}>toggle</button>

    </div>

  );

}

export default App;

ReactHooks使用规则

1.只能在组件中或其他自定义hook函数中调用

2.只能在组件的顶层调用,不能嵌套在if、for、其他函数中

import React, { useState } from 'react';

useState('')//错误的

function App() {

if(Math.random()>0.5){

  useState('')//错误的

}

  return (

    <div>

   

    </div>

  );

}

export default App;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值