Hooks的常用Api

简介: Hooks的常用Api

Ref Hook



  • Ref Hook可以在函数组件中存储/查找组件内的标签或其他数据
  • 语法:const refContainer = useRef()
  • 获取值 refContainer .current.value
  • 作用:保存标签对象,功能与React.creatRef()一样


Effect Hook



1. Effect Hook 可以让你在函数组件中执行副作用操作(用于模拟类组件中的生命周期钩子)


2. React中副作用操作:


(1). 发ajax请求数据获取 
(2). 设置订阅/启动定时器 
(3). 手动更改真实DOM


3. 语法和说明


useEffect(()=>{
  //在此可以执行任何带副作用操作
  return()=>{
    // 在组件卸载前执行
  }
},[stateVlaue])  //如果指定的是[],回调函数只会在第一次render()后执行


4. 可以把 useEffect Hook 看做如下三个函数的组合
componentDidMount()
componentDidUpdate()
conponentWillUnmount()


State Hook



  • 作用: State Hook让函数组件也可以有state状态,并进行状态数据的读写操作
  • 语法:const [xxx, setXxx] =
  • useState()说明:
    参数:第一次初始值指定的值在内部作缓存
    返回值:包含2个元素的数组,第一个为内部当前状态值,第2个为更新状态值的函数
  • setXxx()2种写法:
    setXxx(newValue):参数为非函数值,直接指定新的状态值,内部用其覆盖原来的状态值
    setXxx(vlaue=>newValue):参数为函数,接收原本的状态值,返回新的状态值,内部用其覆盖原来的状态值
  • 【补】setXxx列子 ——注意复合数据类型的引用,引用未更新,不会渲染。

const [num, setNum] = useState({a:1})

setNum({ ...num, ...{arr:[4,5,6]}}) 扩展运算符修改值

setNum(Object.assign({},num,{arr:[3,4,5]}))Object.assign()


示例



import React,{Fragment} from 'react';
import ReactDom from 'react-dom';
//Fragment问答ing碎片 只有一个key属性
function Demo() {
  console.log('我执行了')
  const [count, setCount] = React.useState(0);
  const myRef = React.useRef()
  // React.useEffect(() => {
  //   // 数组中不写东西就相当于DidMount
  //   let time = setInterval(() => {
  //     setCount(count => count + 1)
  //   }, 1000)
  //   return () => {
  //     // return里相当于WillUnmount
  //   clearInterval(time)
  //   }
  // },[])
  function add(){
    setCount(count + 1)
    // setCount(count=>count+1)
  }
  function show() {
    alert(myRef.current.value)
  }
  function unMount() {
    ReactDom.unmountComponentAtNode(document.getElementById('root'))
  }
  return (
    <div>
      <input type="text" ref={myRef} /><button onClick={show}>提示</button>
      <br />
      <button onClick={add}>加一</button>{count}
      <button onClick={unMount}>卸载组件</button>
      <hr />
    </div>
  )
}
export default Demo


相关文章
|
3月前
|
容器 Kubernetes Docker
云原生JSF:在Kubernetes的星辰大海中,让JSF应用乘风破浪!
【8月更文挑战第31天】在本指南中,您将学会如何在Kubernetes上部署JavaServer Faces (JSF)应用,享受容器化带来的灵活性与可扩展性。文章详细介绍了从构建Docker镜像到配置Kubernetes部署全流程,涵盖Dockerfile编写、Kubernetes资源配置及应用验证。通过这些步骤,您的JSF应用将充分利用Kubernetes的优势,实现自动化管理和高效运行,开启Java Web开发的新篇章。
51 0
|
6月前
|
前端开发 API 开发者
React Hooks API:自定义Hooks的创建与使用
【4月更文挑战第25天】本文介绍了React自定义Hooks的创建与使用。自定义Hooks是提升React开发效率的关键工具。
|
6月前
|
缓存 前端开发 JavaScript
彻底学会react hooks API以及应用场景
【4月更文挑战第6天】 React Hooks是16.8版引入的新特性,允许在函数组件中使用state和其它React功能,避免类组件。主要包括useState(添加state)、useEffect(处理副作用)、useContext(访问上下文)、useReducer(使用reducer)、useCallback(缓存函数)、useMemo(缓存计算结果)和useRef(访问DOM元素)。Hooks简化了代码组织和重用,提高了代码效率和可维护性。
98 0
|
Web App开发 JavaScript 前端开发
Vue3.0 Composition API和Hooks使用学习文档
Vue3.0 Composition API和Hooks使用学习文档
6826 0
|
前端开发 JavaScript Java
Vue3的Composition API与React的Hooks
Vue3的Composition API与React的Hooks
185 0
|
存储 缓存 前端开发
hooks的常用Api
hooks的常用Api
|
前端开发 API C++
相似度99%?Jetpack Compose 与 React Hooks API对比
众所周知Jetpack Compose设计理念甚至团队成员很多都来自React,在API方面参考了很多React(Hooks) 的设计,通过与React进行对比可以更好地熟悉Compose的相关功能。
426 0
|
JavaScript API
熬夜讲解vue3组合API中setup、 ref、reactive的用法以及hooks的使用
熬夜讲解vue3组合API中setup、 ref、reactive的用法以及hooks的使用
熬夜讲解vue3组合API中setup、 ref、reactive的用法以及hooks的使用
|
5天前
|
供应链 数据挖掘 API
电商API接口介绍——sku接口概述
商品SKU(Stock Keeping Unit)接口是电商API接口中的一种,专门用于获取商品的SKU信息。SKU是库存量单位,用于区分同一商品的不同规格、颜色、尺寸等属性。通过商品SKU接口,开发者可以获取商品的SKU列表、SKU属性、库存数量等详细信息。