目录
- 1,介绍
- 2,作用
1,介绍
从一个例子开始:
export default function App() {
const [n, setN] = useState(0);
const refH1 = useRef();
useEffect(() => {
console.log("父组件");
});
return <h1 ref={refH1}>{n}</h1>;
}
使用了3个 HOOK,会在浏览器插件中会按顺序显示在“表格”中:
但如果使用了自定义HOOK,比如:
function useTest() {
const [arr, setArr] = useState([]);
useEffect(() => {
console.log("自定义hook");
});
return arr;
}
export default function App() {
const [n, setN] = useState(0);
const refH1 = useRef();
useEffect(() => {
console.log("父组件");
});
useTest();
return <h1 ref={refH1}>{n}</h1>;
}
自定义HOOK默认展示为空:
打开自定义HOOK,才能看到它使用的其他HOOK函数:
2,作用
useDebugValue
的作用,就是为了搭配 React 的浏览器插件,来调试自定义HOOK。
它会在浏览器插件中,给自定义HOOK展示一个自定义的值。比如:
function useTest() {
const [arr, setArr] = useState([]);
useEffect(() => {
console.log("自定义hook");
});
useDebugValue(123);
return arr;
}
一般来说,几乎用不到。只是当一些通用的自定义HOOK使用次数较多时,方便定位问题。
以上。