React 实现对应 Vue 的 watch 侦听器监听字段变化的操作
实现案例:
function Demo(){
const [count, setCount] = useState(0);
//使用 useEffect 实现类似 Vue watch 的效果
useEffect(()=>{
console.log('count 的值变了',count);
},[count]);
//点击按钮触发 count 变化就能看到效果了
return (
<button onClick={()=>setCount(count+1)}>
点击{count}
</button>
)
}
说明:
使用 React 的 Hook: useEffect
来实现,第二个参数就是要监听的字段,格式为数组,可以同时监听多个字段。例如:[count,filed1,filed2]
但要注意,React 的 useEffect
会在组件首次加载时执行一次, 相当于 Vue 使用watch
时的属性设置 immediate:true
查看 watch 的 immediate 属性详情
参考资料 Reference :
React Hook useEffect版权声明:[自由转载-注明出处-非商用-非衍生] (知识共享许可协议)