Объект истории имеет записи и текущий индекс. Я использовал их следующим образом:

ель - включить кнопку «Вернуться», но только в том случае, если маршрут / путь, по которому пользователь должен вернуться, находится в определенной категории.

Точнее у меня есть два вида маршрутов:/<someContent> а также/graph/<graphId>, Когда пользователь перемещается между графиками, он должен иметь возможность вернуться к предыдущему графику, но не к/... маршрут. Вот почему я не могу просто бежатьhistory.goBack()Мне нужно сначала проверить местоположение.

const history = createHashHistory();
const router = (
        <ConnectedRouter history={history}>
            <Switch>
                <Route exact path='/' component={Home}></Route>
                <Route exact path='/extension' component={Home}></Route>
                <Route exact path='/settings' component={Home}></Route>
                <Route exact path='/about' component={Home}></Route>
                <Route exact path='/search' component={Home}></Route>
                <Route exact path='/contact' component={Home}></Route>
                <Route path='/graph/:entityId' component={Graph}></Route>
            </Switch>
        </ConnectedRouter>
);

Я хотел бы реализовать что-то подобное вGraph составная часть:

if (this.props.history.previousLocation().indexOf('graph') > -1){
    this.props.history.goBack();
} else {
    this.disableReturnButton();
}

Этот вопрос также относится кgoForward() как я хотел бы отключить кнопку «вперед», если не применимо. Также пользователь перемещается сthis.props.history.push(newLocation)

Очевидно, что я хотел бы избежать побочных уловок, таких как вход в системуlocalStorage или излишекstore когда пользователь перемещается, он становится менее естественным, и я знаю, как это сделать.

Ответы на вопрос(2)

Ваш ответ на вопрос