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])