gpt4 book ai didi

javascript - react + ionic 5 : Tab navigation problems

转载 作者:行者123 更新时间:2023-12-05 00:46:25 25 4
gpt4 key购买 nike

我无法让标签导航正常工作。

这是我目前的代码:

App.tsx:

const App: React.FC = () =>
<IonApp>
<IonReactRouter>
<IonRouterOutlet id="main">
<Route exact path="/" render={() => <Redirect to="/home"/>}/>
<Route path="/home" render={(props) => <Home {...props}/>} exact={true}/>
</IonRouterOutlet>
</IonReactRouter>
</IonApp>
)

Home.tsx:

const Home: React.FC<RouteComponentProps> = (props: RouteComponentProps) => (
<IonPage>
<IonTabs>
<IonRouterOutlet id='tabs'>
<Route path='/:tab(myDecks)' render={(props) => <MyDecks {...props} />} exact/>
<Route path='/:tab(explore)' render={(props) => <Explore {...props} />} exact/>
<Redirect from='/home' to='/myDecks'/>
</IonRouterOutlet>
<IonTabBar slot='bottom'>
<IonTabButton tab='myDecks' href='/myDecks'>
<IonLabel>My Decks</IonLabel>
</IonTabButton>
<IonTabButton tab='explore' href='/explore'>
<IonLabel>Explore</IonLabel>
</IonTabButton>
</IonTabBar>
</IonTabs>
</IonPage>
);

MyDecks.tsx:

const MyDecks: React.FunctionComponent<RouteComponentProps> = (props: RouteComponentProps) => {
return <>
<IonHeader>
<IonToolbar>
<IonTitle>My Decks</IonTitle>
</IonToolbar>
</IonHeader>

<IonContent className='ion-padding'>
My Decks
</IonContent>
</>
};

当前行为是:

  1. 用户访问权限/
  2. 用户被重定向到/home
  3. 另一个重定向到/myDeck,选择了“我的甲板”选项卡并且 URL 很好。
  4. 如果用户点击“Explore”标签,URL 会发生变化,“My Deck”标签会被取消选中,而“Explore”标签会被选中,但是页面内容不会改变。

如果我改变 <IonRouterOutlet> 内部的路由顺序,那么最初选择的是“我的甲板”选项卡,当用户第一次点击“探索”选项卡时,它呈现 ok,但永远不会回到“我的甲板”选项卡。

我还注意到,在/myDeck 或/explore 刷新时,根本不会呈现任何内容。

最佳答案

According to the React Tabs starter template您必须将 IonRouterOutlet 嵌套在 IonTabs 内,该 IonReactRouter 嵌套在其中。

这是他们的 App.tsx 的样子:

  <IonApp>
<IonReactRouter>
<IonTabs>
<IonRouterOutlet>
<Route path="/tab1" component={Tab1} exact={true} />
<Route path="/tab2" component={Tab2} exact={true} />
<Route path="/tab3" component={Tab3} />
<Route path="/" render={() => <Redirect to="/tab1" />} exact={true} />
</IonRouterOutlet>
<IonTabBar slot="bottom">
<IonTabButton tab="tab1" href="/tab1">
<IonIcon icon={triangle} />
<IonLabel>Tab 1</IonLabel>
</IonTabButton>
<IonTabButton tab="tab2" href="/tab2">
<IonIcon icon={ellipse} />
<IonLabel>Tab 2</IonLabel>
</IonTabButton>
<IonTabButton tab="tab3" href="/tab3">
<IonIcon icon={square} />
<IonLabel>Tab 3</IonLabel>
</IonTabButton>
</IonTabBar>
</IonTabs>
</IonReactRouter>
</IonApp>

对我来说就是这样。无论如何,Ionic+React 文档对于此类事情并不是很详细。人们仍然需要非常多地搜索。

关于javascript - react + ionic 5 : Tab navigation problems,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60613071/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com