对于无法使用材质ui选项卡在反应路由器中创建三重嵌套路由感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍无法使用物件连接与内嵌ole,并为您提供关于angularjs–角度ui路由器中的三级嵌套
对于无法使用材质 ui 选项卡在反应路由器中创建三重嵌套路由感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍无法使用物件连接与内嵌ole,并为您提供关于angularjs – 角度ui路由器中的三级嵌套路由、AngularUI路由器中的活动链接/选项卡、javascript – 反应路由器 – 路由到子组件的路径、javascript – 角色UI路由器 – 嵌套路由不适用于嵌套状态的模板的有用信息。
本文目录一览:- 无法使用材质 ui 选项卡在反应路由器中创建三重嵌套路由(无法使用物件连接与内嵌ole)
- angularjs – 角度ui路由器中的三级嵌套路由
- AngularUI路由器中的活动链接/选项卡
- javascript – 反应路由器 – 路由到子组件的路径
- javascript – 角色UI路由器 – 嵌套路由不适用于嵌套状态的模板
无法使用材质 ui 选项卡在反应路由器中创建三重嵌套路由(无法使用物件连接与内嵌ole)
如何解决无法使用材质 ui 选项卡在反应路由器中创建三重嵌套路由?
我正在尝试使用 react-router 创建三重嵌套,但它不起作用。 这是预期的输出
- 当用户只在 URL 中写入
/
时,它应该重定向到登录页面(工作) - 当用户写入
/dashboard
时,它应该重定向到带有侧列表的仪表板(工作) - 当用户单击仪表板抽屉中的“关于”等列表项时,它应该呈现“关于”页面。
- 现在我的关于页面包含两个选项卡,一个用于常规,一个用于帐户(在我实现此功能之前一切正常,现在整个应用程序都崩溃了,甚至没有显示错误)
这是我在 sandbox 中的代码。 注意:我已经评论了我的第三个嵌套路由,因为它使整个应用程序崩溃
App.js
import { Switch,Route } from "react-router-dom";
import Login from "./pages/Login";
import Dashboard from "./pages/Dashboard";
import "./styles.css";
export default function App() {
return (
<div className="App">
<Switch>
<Route path="/dashboard" component={Dashboard} />
<Route path="/" exact component={Login} />
</Switch>
</div>
);
}
用于嵌套路由的 Dashboard.js
import { Switch,Redirect,Route,useRouteMatch } from "react-router-dom";
import Home from "./Home";
import About from "./About";
import AppDrawerBar from "../components/AppDrawerBar";
const Dashboard = () => {
const { path } = useRoutematch();
return (
<>
<AppDrawerBar>
<Switch>
<Route path={`${path}/about`} component={About} />
<Route path={`${path}/home`} component={Home} />
<Redirect to={`${path}/home`} />
</Switch>
</AppDrawerBar>
</>
);
};
export default Dashboard;
About.js 第三个嵌套路由,用于在点击关于列表项后处理标签导航
import { Switch } from "@material-ui/core";
import React from "react";
import { Redirect,Route } from "react-router-dom";
import TabMenu from "../components/TabMenu";
const About = (props) => {
return (
<>
<h1>Welcome to about</h1>
{/* This doesn''t work.. this code is to render tab navigation */}
{/* <Switch>
<Redirect exact from={`${props.path}/about`} to="about/general" />
<Route
exact
path="/about/:page?"
render={(props) => <TabMenu {...props} />}
/>
</Switch> */}
</>
);
};
export default About;
TabMenu.js 来处理我的标签
import { Paper,Tab,Tabs } from "@material-ui/core";
import React,{ useState } from "react";
import General from "../pages/General";
import Account from "../pages/Account";
const TabMenu = (props) => {
const { match,history } = props;
const { params } = match;
const { page } = params;
const tabNametoIndex = {
0: "about",1: "contact"
};
const indexToTabName = {
about: 0,contact: 1
};
const [selectedTab,setSelectedTab] = useState(indexToTabName[page]);
const handleChange = (event,newValue) => {
history.push(`/about/${tabNametoIndex[newValue]}`);
setSelectedTab(newValue);
};
return (
<>
<Paper elevation={2}>
<Tabs
value={selectedTab}
onChange={handleChange}
indicatorColor="primary"
textColor="primary"
>
<Tab label="General" />
<Tab label="Profile" />
</Tabs>
</Paper>
{selectedTab === 0 && <General />}
{selectedTab === 1 && <Account />}
</>
);
};
export default TabMenu;
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
angularjs – 角度ui路由器中的三级嵌套路由
一级工作正常
两级工作正常
三级不工作!
有人可以帮我吗
提前致谢
angular.module('settings',[]).config(['$stateProvider','$routeProvider','$urlRouterProvider',function($stateProvider,$routeProvider,$urlRouterProvider) { $stateProvider .state('settings',{ url: '/settings',template:"Settings",controller: function(){ console.log('settings'); } }). state('settings.branch',{ url: '/{branchId:[0-9]{1,8}}',template:"Branch",controller: function(){ console.log('branch'); } }). state('settings.branch.prop',{ url: '/prop',template:"Property",controller: function(){ console.log('property'); } }); }]);
‘/ settings’正在工作
‘/ settings / 1234’正在工作
‘/ settings / 1234 / prop’不工作,总是返回上一级状态’Branch’
AngularUI路由器中的活动链接/选项卡
我正在使用AngularUI路由器,并且试图建立嵌套/子链接。
一切正常,但是如何在“联系人”选项卡中选择/激活链接?
基本上,我需要能够在加载“联系人”页面时选择/激活一个联系人链接。当前,由于某些原因,controlleroneCtrl
除非我单击链接,否则它不会阅读。
angular
.module ('myApp',['ui.router'
])
.config (['$urlRouterProvider','$stateProvider',function ($urlRouterProvider,$stateProvider) {
$urlRouterProvider.otherwise ('/summary');
$stateProvider.
state ('summary',{
url: '/summary',templateUrl: 'summary.html',controller: 'summaryCtrl'
}).
state ('about',{
url: '/about',templateUrl: 'about.html',controller: 'aboutCtrl'
}).
state ('contact',{
url: '/contact',templateUrl: 'contact.html',controller: 'contactoneCtrl'
})
// Sub page
.state('contact.one',{
url: '/contact.contactone',templateUrl: 'one.html',controller: 'contactoneCtrl'
})
// Sub page
.state('contact.two',{
url: '/contact.contacttwo',templateUrl: 'two.html',controller: 'contacttwoCtrl'
});
}]);
柱塞:http
://plnkr.co/edit/DWjp5M6kJt2MyBrasfaQ?p=preview
javascript – 反应路由器 – 路由到子组件的路径
var sampleApp= React.createClass({ render: function (){ return ( <div className="our-schools-app"> <Header /> <RouteHandler /> <Footer /> </div> ); },}); var routes = ( <Route name="app" path="/" handler={OurSchoolsApp}> <DefaultRoute name="home" handler={HomePage} /> <Route name="add-school" handler={AddSchoolPage} /> <Route name="calendar" handler={CalendarPage} /> <Route name="calendar-detail" path="calendar-detail/:id" handler={CalendarDetailPage} /> <Route name="info-detail" path="info-detail/:id" handler={InfoDetailPage} /> <Route name="info" handler={InfoPage} /> <Route name="news" handler={NewsListPage} /> <Route name="news-detail" path="news-detail/:id" handler={NewsDetailPage} /> <Route name="contacts" handler={ContactPage} /> <Route name="contact-detail" handler={ContactDetailPage} /> <Route name="settings" handler={SettingsPage} /> </Route> ); Router.run(routes,function(Handler){ var mountNode = document.getElementById('app'); React.render(<Handler />,mountNode); });
我想在路线中传递我的页面的标题作为支柱,如下所示:
<Route name="info" handler={InfoPage} pageTitle="Info Page" />
对我的标题组件:
var Header = React.createClass({ render: function () { return ( <div className="bar bar-header" style={this.getStyle()}> <HomeButton /> <div className="h1 title">{this.props.pageTitle}</div> </div> ) } });
但道具显示为空,有人可以帮忙吗?
解决方法
var BaseComponent = React.createClass({ render: function() { return <p>{this.props.text}</p> } }); var FancyComponent = React.createClass({ return <BaseComponent text="fancy!" /> }); var EvenFancierComponent = React.createClass({ return <BaseComponent text="SUPER fancy!" /> });
那么这些路线:
<Route name="standard" handler={BaseComponent} /> <Route name="fancy" handler={FancyComponent} /> <Route name="superfancy" handler={EvenFancierComponent} />
不过关于React Router github issues这个话题的讨论提供了一个好消息:
I just wanted to note here that in the new API (see 07001) routes are
just plain objects,so you can put whatever props you want on them.
Your transition hooks will get a route arg and components will receive
this.props.route,so you should be good to go.
它看起来像是新的1.0版本是beta版,所以应该很快来了!
javascript – 角色UI路由器 – 嵌套路由不适用于嵌套状态的模板
.state('profile',{ url : '/profile',templateUrl: 'views/user.html',controller: 'UserCtrl' }) .state('profile.forgot',{ url : '/delivers',templateUrl: 'views/user_forgot.html',<- this template not appear,when state is active controller: 'forgotCtrl' }) <a ui-sref="profile.forgot">Forgot your pasword?</a> <divui-view=""></div>
当我点击链接,在ui-view中显示模板和控制器的父状态.
AngularJS版本为1.2.0-rc.2
解决方法
我们今天的关于无法使用材质 ui 选项卡在反应路由器中创建三重嵌套路由和无法使用物件连接与内嵌ole的分享就到这里,谢谢您的阅读,如果想了解更多关于angularjs – 角度ui路由器中的三级嵌套路由、AngularUI路由器中的活动链接/选项卡、javascript – 反应路由器 – 路由到子组件的路径、javascript – 角色UI路由器 – 嵌套路由不适用于嵌套状态的模板的相关信息,可以在本站进行搜索。
本文标签: