How to re render a parent component when update database from a child component?

Your component is rerendering, but the effect that gets the list of todos is not dependent on the update state, so it is not be ran again when update changes. You might want to read more into how the dependency array works with the useEffect hook for more information about why that is, but shortly, an empty dependency array means that an effect will be called only twice, on mount and dismount.

Moving on to how to fix your problem, lift the logic that retrieves the whole list of todos and sets the state into its own function. Call that function in the effect, and pass the function to the child, call it after the update to the child is complete.