最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • hooks 系列八:hooks 小结

    正文概述 掘金(小和山的菜鸟们)   2021-08-06   512

    快来加入我们吧!

    "小和山的菜鸟们",为前端开发者提供技术相关资讯以及系列基础文章。为更好的用户体验,请您移至我们官网小和山的菜鸟们 ( xhs-rookies.com/ ) 进行学习,及时获取最新文章。

    "Code tailor" ,如果您对我们文章感兴趣、或是想提一些建议,微信关注 “小和山的菜鸟们” 公众号,与我们取的联系,您也可以在微信上观看我们的文章。每一个建议或是赞同都是对我们极大的鼓励!

    Hooks 小结

    到此为止,我们的 hooks 系列只剩下最后一个大案例了。现在我们来对之前的内容做一个回顾。

    我们首先介绍了 hooks

    什么是 hooks

    hooksReact 16.8 新增的特性,它可以在不编写 类组件 的情况下使用 state 以及其他的 React 特性

    为什么引入 hook

    • 在组件之间复用状态逻辑很难
    • 复杂组件变得难以理解(生命周期内有不相关的逻辑
    • 类组件中 this 指向问题不容易理解

    介绍了 useState

    useState() 用于为函数组件引入状态。纯函数不能有状态,所以使用钩子来引入状态。

    创建和使用

    const [count, setCount] = useState(defaultValue) // 假设 defaultValue 为 0
    

    useState 返回的是一个数组,一般直接使用解构赋值取出两个值,state 以及 修改 state 的函数 。这两个值是需要成对获取的。

    使用多个 useState 就可以定义多个 state 变量。

    介绍了 useEffects

    Effect Hook 可以让你在函数组件中执行副作用操作,换句话说可以完成一些类似 Class 中生命周期的功能。

    创建和使用

    useEffect(() => {
       // 执行一些副作用操作
    },[]);
    

    useEffect 相当于 class 中三个生命周期的组合。在 class 中不同,每一个生命周期,都会有一些不相关的逻辑代码,useEffect 将这些代码进行了更好的拆分。

    介绍了 useRefs

    useRef 返回一个可变的 ref 对象,其 .current 属性被初始化为传入的参数(initialValue)。返回的 ref 对象在组件的整个生命周期内保持不变。

    const refContainer = useRef(initialValue)
    

    它返回的 ref 对象在组件的整个生命周期保持不变,让我们在函数组件中,也可以像 Class 组件一样保存一些实例属性,为我们开发带来了许多可能性,除了这些新奇的功能,不要忘记 ref 开始获取 DOM 属性的功能,因为在 useRef 同样可以适用。

    介绍了 useCallback

    讲述了 hook 的规则

    • 只能在最顶层使用 Hook
      • 不要在循环,条件或嵌套函数中调用 Hook
    • 只能在 React 函数中调用 Hook
      • 不要在普通的 JavaScript 函数中调用 Hook

    介绍了自定义 hook

    自定义 Hook 是一个函数,其名称以 "use" 开头,函数内部可以调用其他的 Hook

    在文章中,我们使用两个简单的案例,讲述了 自定义 hook 的创建和使用。

    const useMyHook = (initValue) => {
      const [value, setValue] = useState(initValue || '')
      return value
    }
    

    这就是我们的简单创建,而使用方式与 useState 类似,只需要创建时取出值就可以进行使用。

    function App() {
      const myHookValue = useMyHook('myHook')
      return <div className="app">{myHookValue}</div>
    }
    

    下节预告

    我们在后续,还会有一个案例,对 hooks 系列文章中的所学内容进行尝试。使用了一个留言功能的案例。


    起源地下载网 » hooks 系列八:hooks 小结

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元