I created a react application using create-react-app boilerplate, which seems to be very popular, hot reload some times updates when any of the files changes and some times
sudo npm start
i dont know more about linux, but it is probably due to firewall settings, as i have done the same in windows and there to start react dev server we need to give the access through firewall, so to do the same here we need to give it the admin permision(sudo in case of a ubuntu linux distribution).