2016-01-29 2 views
0

У меня есть приложение, которое на некоторых маршрутах управляет компонентом tab-bar. Это означает, что я должен передать текущую вкладку с помощью реквизита и отреагировать на изменения выбранной вкладки, сохранив только что выбранную вкладку.Сохранить текущую активную вкладку в состоянии redux?

Я использую redux, поэтому у меня есть центральный магазин для состояния.

Поскольку у меня есть разные маршруты, которые могут содержать разные вкладки с различными вкладками «id», я не уверен, что я должен сохранить в состоянии. Если я сохраню только id вкладки в состоянии, могут быть столкновения, если на двух разных маршрутах вкладки имеют одинаковые id. Поэтому я должен убедиться, что вкладка id уникальна по всем маршрутам.

Поскольку redux работает с действиями по изменению состояния, то <Link to/> другому маршрутизатору также необходимо будет установить вкладку, которую я хочу активировать на новом маршруте. Как это будет достигнуто?

ответ

0

Это похоже на то, что должно управляться с помощью react-router.

<Link to="somePage" hash="tab3" /> 

где обработчик маршрутизатора для somePage маршрута:

class SomePage extends React.Component { 
    render() { 
    return (
     <div> 
     <TabComponent activeTab={ this.props.location.hash } /> 
     </div> 
    ); 
    } 
} 
Смежные вопросы