react自定义hooks函数

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

例如:这里多个地方要使用一个函数 来控制元素的显示隐藏

javascript 复制代码
import { useState } from "react"
​
function useToggle () {
  // 可复用的逻辑代码
  const [value, setValue] = useState(true)
  const toggle = () => setValue(!value)
  // 哪些状态和回调函数需要在其他组件中使用 return
  return {
    value,
    toggle
  }
} 
export {useToggle}
​
​
function App () {
  const { value, toggle } = useToggle()
  return (
    <div>
      {value && <div>this is div</div>}
      <button onClick={toggle}>toggle</button>
    </div>
  )
}
​
export default App

封装UI组件

UI组件是负责数据的渲染,不需要use开头 也就是一些通用的html

React Hooks使用规则

  1. 只能在组件中或者其他自定义Hook函数中调用 例如在function App () {)函数当中调用

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

相关推荐
alamhubb1 小时前
反感pnpm的全链路污染?可以了解下这个对原项目零侵入,零修改完全兼容npm的monorepo工具
前端·javascript·node.js
2501_948194981 小时前
RN for OpenHarmony AnimeHub项目实战:正在热播页面开发
javascript·react native·react.js
2501_944521001 小时前
rn_for_openharmony商城项目app实战-语言设置实现
javascript·数据库·react native·react.js·harmonyos
AdleyTales1 小时前
vscode识别不了@提示找不到路径解决
前端·javascript·vscode
前端九哥2 小时前
装个依赖把公司电脑干报废了?npm i 到底背着我干了啥?
前端·javascript
溪海莘2 小时前
React入门:跟读官方快速入门教程(前端小白)
前端·react.js·前端框架
绝世唐门三哥2 小时前
工具函数-精准判断美东交易时间
前端·javascript·vue.js
踢球的打工仔2 小时前
typescript-null和undefined
前端·javascript·typescript
前端小蜗2 小时前
对不起,我很贱:老板还没催,我自己就统计《GitLab年度代码报告》
前端·javascript·人工智能
cauyyl3 小时前
react 项目检查国际化配置脚本
前端·react.js·前端框架