React/Ionic 路由:无法读取未定义的 属性 'startsWith'
React/Ionic routing: cannot read property 'startsWith' of undefinded
我正在尝试使用 Ionic (React) 构建选项卡导航。但是,我遇到了一个奇怪的错误 - 我假设它与的 href 属性有关,但我无法理解它。
确切的错误是:无法读取未定义的 属性 'startsWith' - return props.currentPath.startsWith(href);
非常感谢任何见解。
TabRoot.js:
<IonRouterOutlet>
<Route path="/:tab(tab1)" component={NewsPage} exact></Route>
<Route path="/:tab(tab2)" component={TranslatorPage} exact></Route>
<Route path="/:tab(tab3)" component={ConverterPage} exact></Route>
</IonRouterOutlet>
<IonTabBar slot="bottom">
<IonTabButton tab="news" href="/tab1">
<IonIcon name="flash"></IonIcon>
</IonTabButton>
<IonTabButton tab="translator" href="/tab2">
<IonIcon name="git-compare" />
</IonTabButton>
<IonTabButton tab="converter" href="/tab3">
<IonIcon name="cash"></IonIcon>
</IonTabButton>
</IonTabBar>
App.js:
<Router>
<div className="App">
<Switch>
<Route exact path='/' component={TabRoot}></Route>
</Switch>
</div>
</Router>
重新安装 Ionic 选项卡入门模板解决了这个问题。
我建议你看看这个离子反应演示 https://github.com/mehulmpt/ionic-react-demo
和这个 youtube 视频 https://www.youtube.com/watch?v=OmrPhSEdVPI
我遇到了同样的问题,并通过将 <Router>
(导入 { BrowserRouter as Router } from react-router-dom
)替换为 <IonReactRouter>
(从 @ionic/react-router
导入)来修复它。
在我的例子中是一个资源问题,正在做:
cordova-res
解决我的问题
参考文献:Issue
我正在尝试使用 Ionic (React) 构建选项卡导航。但是,我遇到了一个奇怪的错误 - 我假设它与的 href 属性有关,但我无法理解它。
确切的错误是:无法读取未定义的 属性 'startsWith' - return props.currentPath.startsWith(href);
非常感谢任何见解。
TabRoot.js:
<IonRouterOutlet>
<Route path="/:tab(tab1)" component={NewsPage} exact></Route>
<Route path="/:tab(tab2)" component={TranslatorPage} exact></Route>
<Route path="/:tab(tab3)" component={ConverterPage} exact></Route>
</IonRouterOutlet>
<IonTabBar slot="bottom">
<IonTabButton tab="news" href="/tab1">
<IonIcon name="flash"></IonIcon>
</IonTabButton>
<IonTabButton tab="translator" href="/tab2">
<IonIcon name="git-compare" />
</IonTabButton>
<IonTabButton tab="converter" href="/tab3">
<IonIcon name="cash"></IonIcon>
</IonTabButton>
</IonTabBar>
App.js:
<Router>
<div className="App">
<Switch>
<Route exact path='/' component={TabRoot}></Route>
</Switch>
</div>
</Router>
重新安装 Ionic 选项卡入门模板解决了这个问题。
我建议你看看这个离子反应演示 https://github.com/mehulmpt/ionic-react-demo 和这个 youtube 视频 https://www.youtube.com/watch?v=OmrPhSEdVPI
我遇到了同样的问题,并通过将 <Router>
(导入 { BrowserRouter as Router } from react-router-dom
)替换为 <IonReactRouter>
(从 @ionic/react-router
导入)来修复它。
在我的例子中是一个资源问题,正在做:
cordova-res
解决我的问题
参考文献:Issue