Apply the react rules of hooks in a correct way in ESAP GUI
useEffect hooks don't have the correct dependencies (https://blog.logrocket.com/understanding-react-exhaustive-deps-linting-warning/) The linting has been disabled for them since they require a major refactoring (both structural and application logic).
FIXME from this MR: esap-gui!109 (merged)
The major failure mode is an infinite render loop, which is caused by circular updates, where a (re-)render triggers an update. This should not happen in React as state should always flow down and render should be idempotent.