React compares snapshots with Object.is. If getSnapshot returns a new object each time without a real change, React can keep re-rendering.