Reactjs 如何区分第二个参数上的多个状态更改?
这里是我的代码:Reactjs 如何区分第二个参数上的多个状态更改?,reactjs,react-hooks,Reactjs,React Hooks,这里是我的代码: useEffect(() => { if(a change){ do something a} if(b change){ do something b} }, [a,b]) 如何区分a或b之间的状态变化?首先,您应该关注每个动作的单个useffect: useEffect(() => { // do something a }, [a]) useEffect(() => { // do something b }, [b]) 但对于您的
useEffect(() => {
if(a change){ do something a}
if(b change){ do something b}
}, [a,b])
如何区分a或b之间的状态变化?首先,您应该关注每个动作的单个
useffect
:
useEffect(() => {
// do something a
}, [a])
useEffect(() => {
// do something b
}, [b])
但对于您的问题,将其与之前的值进行比较:
const aRef = usePrevious(a);
useEffect(() => {
// Or use custom comparator compare(a,aRef.current)
if (a !== aRef.current) {
// a changed
aRef.current = a;
}
}, [a ,b])