When will a React component using hooks re-render?

Let's assume the component:

* Manages state with `useState`
* Receives `props` from its parent

Will a re-render happen directly *after* the following events, and *only* at those points in time?

* Component receives new `props`
* `state` is updated

**Related Question**

Let's assume the component has several `useState` expressions and a user interaction causes multiple states to update.

Will the component re-render multiple times, once per `state` value that changed, or will it batch these related changes into one single re-render?