На ум приходят два варианта, оба полагаются на пакет history:
обернуть компонент Qpage в класс Error Boundaries и вызвать history.goBack () в методе componentDidCatch https://reactjs.org/docs/error-boundaries.html
В компоненте Qpage componentDidMount вызовите history.goBack (), если API не вернет вопрос. Кроме того, условно визуализируйте возврат для свойства состояния, в котором хранится результат API.
{!this.state.property? <div/> : <div> . . . </div>}
Обязательно используйте историю версии 4.10.1, если React-Router-DOM - 5.2. 0
история. js
import { createBrowserHistory } from 'history';
const history = createBrowserHistory();
export default history;
индекс. js
import React from 'react'
import ReactDOM from 'react-dom'
import App from './App'
import {Router} from 'react-router-dom'
import history from './history.js'
ReactDOM.render(
<Router history={history}>
<App />
</Router>,
document.getElementById('root')
)
Qpage или границы ошибок
import history from './history'