Question: Why is it a good idea to pass a function to `setState` instead of an object?

  1. It provides better encapsulation.
  2. It makes sure that the object is not mutated.
  3. It automatically updates a component.
  4. `setState` is asynchronous and might result in out of sync values.

Answer: The correct answer of the above question is Option D:`setState` is asynchronous and might result in out of sync values.