The docs of 'componentDidUpdate' say that it's not called for the initial render. If the component is added to the DOM with 1 notification already, then the update will not happen and timeout will never be set which will effectively break the timeouts chain.