Но если вы хотите показывать в компоненте какую-нибудь идентификацию наличия несохраненных данных, то тогда имеет смысл перенести флаг hasUnsavedChanges в state компонента.
Prompt
библиотеки react-router-dom
Да как-то странно на собеседовании даж на мидлл фронтенда слышать вопросы про промисы или всплытие переменных и задачки про js.
<Route path={PAGE.login} component={C.Login}/>
<Route path={'/'} component={C.Main}>
<Redirect to={PAGE.companies}/>
<Route path={PAGE.companies} component={C.Companies} />
<Route path={PAGE.stars} component={C.Stars} />
<Route path={PAGE.login} component={C.Login}/>
<Route path={'/'} component={C.Main}>
<Redirect to={PAGE.companies}/>
<Route path={PAGE.companies} component={C.Companies} />
<Route path={PAGE.stars} component={C.Stars} />