Hello Burk,
What *might* be happening is that the various properties of some components are updating asynchronously. This is normal with apps that are querying data from the network etc.. If you have a component with (say) 2 properties ("name", "department") that are read from separate network calls, they might both be set to null or undefined before the network calls return. The component will do a render with them both set to null. If "name" is then returned from the network, the component will do a render with name != null, and department == null. Finally, when department returns, it will do a third render with the proper values for name and department.
This is just a guess, as to another possible cause. It will be difficult to say for certain without seeing the code.
The asynchronous nature of React (and why it got its name) is that it will react to changes to the underlying state of the system. When you have multiple asynchronous reads, you can have several renders. There won't normally be an excessive number, but there can be more than you initially expect.
The React
Testing Library (recipe 8.1.... #plug

) can be a useful tool for examining the details of exactly what renders happen and why. The React profiling system (recipe 10.2) is another way of capturing the entire sequence of renders, and the underlying reason they occur. I think profiler might be the most useful tool in your case. You can find an example of the profiler in action here:
https://github.com/dogriffiths/ReactCookbook-source/blob/master/ch10-calendar-app/src/App.js
D+D