useCallBack.jsx 786 B

123456789101112131415161718192021222324252627282930313233
  1. //useCallBack 做缓存 缓存一个函数
  2. import { useCallback,useState,useEffect } from "react";
  3. // props中自带一个children属性 在React中
  4. function Main({children,onClick}) {
  5. // 副作用
  6. useEffect(()=>{
  7. console.log("发生改变")
  8. })
  9. return(
  10. <button onClick={onClick}>{children}</button>
  11. )
  12. }
  13. export default function TestUseCallBack() {
  14. let [word,setWord] = useState("一个普通文本");
  15. // function handleClick(){
  16. // setWord("这是一个新文本1")
  17. // console.log("点击了")
  18. // }
  19. const handleClick = useCallback(()=>{setWord("这是一个新文本")},[])
  20. return(
  21. <div>
  22. <p>{word}</p>
  23. <Main onClick={handleClick}>修改内容</Main>
  24. </div>
  25. )
  26. }