12345678910111213141516171819202122232425262728293031323334353637383940 |
- import {useState,useCallback} from 'react';
- /**
- * useCallback
- * 允许在多次渲染中缓存函数的
- * const cachedFn = useCallback(fn, dependencies)
- * fn:想要缓存的函数
- * dependencies:有关是否更新 fn 的所有响应式值的一个列表
- */
- function Other({onClick1,aa}) {
- return (
- <>
- <button onClick={onClick1}>修改名字</button>
- <input type="text" onChange={aa} />
- </>
- )
- }
- function LearnUseCallback() {
- const [name,setName] = useState("喜羊羊")
- const [age,setAge] = useState(7)
- const changeName = useCallback(() => {
- setName("小花")
- }, [])
- const changeAge = useCallback(()=>{
- setAge(age + 2)
- },[age])
- function showMain() {
- setName("牛魔王")
- }
- return(
- <>
- <h1>useCallback</h1>
- <p>我叫{name}</p>
- <p>今年{age}岁</p>
- <h1 onClick={showMain}>出现</h1>
- {/* <Other onClick1={changeName} aa={changeAge} /> */}
- </>
- )
- }
- export default LearnUseCallback;
|