If you have a fiber, you can walk up the return chain and compare:
- props changed →
fiber.memoizedProps !== fiber.alternate.memoizedProps - state changed → for hooks with
queue(useState/useReducer) or classmemoizedState - context changed → find a
Context.Providerfiber (tag === 10) whosememoizedProps.valuechanged
Here’s a paste-ready snippet. Select the changed DOM element with the browser inspector, then run this in the console: