react常用的hook

useContext:

useContext是跨函数组件传值,显示声明一个createContext为一个变量然后再用Context.provider表签包裹根元素,标签属性value为传参的值,在接受组件中声明一个count=useContext(Context)就可以接受count 的值啦

import { useState, createContext, useContext } from 'react'

const Context = createContext()
// useContext是跨函数组件传值,显示声明一个createContext为一个变量然后再用Context.provider表签包裹根元素,标签属性value为传参的值,在接受组件中声明一个count=useContext(Context)就可以接受count 的值啦

function ConA() {
  const count = useContext(Context)
  return (
    <div>
      我是组件ConA----{count}
      <ConC />
    </div>
  )
}


function ConC() {
  const count = useContext(Context)
  return (
    <div>我是ConC---{count}</div>
  )
}



function App15() {
  const [count, setCount] = useState(10)
  return (
    <Context.Provider value={count}>
      <div>
        <ConA />
        <button onClick={() => setCount(count + 1)}>+1</button>
      </div>
    </Context.Provider>
  )
}
export default App15

 useRef:

绑定useRef(null)属性,绑定组件或者标签为ref属性,然后再useEffect

// 中打印或者输出hRef.current

import React, { useEffect, useRef } from 'react'


class ConA extends React.Component {
  render() {
    return (
      <div>
        类组件
      </div>
    )
  }
}
// 绑定useRef(null)属性,绑定组件或者标签为ref属性,然后再useEffect
// 中打印或者输出hRef.current
function Ref1() {
  const conRef = useRef(null)
  const hRef = useRef(null)
  // console.log(conRef, hRef)
  // useEffect是在渲染之后执行的函数。
  useEffect(() => {
    console.log(conRef.current, hRef.current)
  }, [])
  return (
    <div>
      <ConA ref={conRef} />
      <h1 ref={hRef}>您好呀</h1>
    </div>
  )
}
export default Ref1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值