javascript 使用Auth0 +路由器实现应用程序组件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 使用Auth0 +路由器实现应用程序组件相关的知识,希望对你有一定的参考价值。
import React, { Component } from 'react';
import {Route} from 'react-router-dom';
import Home from './Home';
import Profile from './Profile';
import Nav from './Nav';
import Callback from './Callback';
import Public from './Public';
import Private from './Private';
import Courses from './Courses';
import Auth from './Auth/Auth';
import PrivateRoute from './PrivateRoute';
import AuthContext from './AuthContext';
class App extends Component {
constructor(props) {
super(props);
this.state = {
auth: new Auth(this.props.history),
tokenRenewalComplete: false
};
}
componentDidMount() {
this.state.auth.renewToken(() => {
this.setState({ tokenRenewalComplete: true })
});
}
render() {
const { auth } = this.state;
if (!this.state.tokenRenewalComplete) return "Loading...";
return (
<AuthContext.Provider value={auth}>
<Nav auth={auth} />
<div className="body">
<Route
path="/"
exact
render={props => <Home auth={auth} {...props}/>} />
<Route
path="/callback"
render={props => <Callback auth={auth} {...props}/>} />
<PrivateRoute
path="/profile"
component={Profile} />
<Route path="/public" component={Public} />
<PrivateRoute
path="/private"
component={Private} />
<PrivateRoute
path="/courses"
component={Courses}
scopes={["read:courses"]} />
</div>
</AuthContext.Provider>
);
}
}
export default App;
以上是关于javascript 使用Auth0 +路由器实现应用程序组件的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Javascript 中使用路由
JavaScript 表单使用 Ajax 和 Laravel 路由提交到数据库
如何使用 ASP.NET MVC 5 中的 JavaScript 在运行时使用路由值增加 actionlink?
在对象赋值解构Javascript中使用冒号
在 laravel 刀片路由中使用 JavaScript 变量
使用 javascript 将路由值传递给 Html.BeginForm