【发布时间】:2019-01-14 10:06:43
【问题描述】:
enter image description here enter image description here
import * as React from 'react';
import Root from './Root';
import './App.css'
import {session} from './libs/session';
import {Redirect} from "react-router-dom";
export default class App extends React.Component {
public componentWillMount() {
console.log("componentWillMount App");
}
public componentDidMount() {
console.log("componentDidMount App");
console.log(window.location.search.replace(/\?/g,''));
const urlParmes = window.location.search.replace(/\?/g,'');
session.token = urlParmes.replace(/^token=/g,'');
}
public render() {
if (session.token === '' || session.token === null || session.token === 'undefined') {
console.log('no Jurisdiction');
return (<Redirect to='/'/>);
} else {
console.log('has Jurisdiction')
}
return (
<div className="App">
<Root />
</div>
)
}
}
我的目的是检测“令牌”,然后将其重定向到登录页面。 这就是为什么?请帮我。谢谢
【问题讨论】:
-
npmjs.com/package/react-router-dom你是否安装正确并列在你的package.json中?
-
你能把你的代码直接放到你的问题中吗?
-
"dependencies": { "antd": "^3.7.3", "less": "^3.8.0", "react": "^16.4.1", "react-dom ": "^16.4.1", "react-scripts-ts": "2.16.0"}, "devDependencies": { "@types/history": "^4.7.0", "@types/jest": “^23.3.0”、“@types/react”:“^16.4.7”、“@types/react-dom”:“^16.0.6”、“@types/react-router-dom”:“^ 4.3.0”、“babel-preset-es2015”:“^6.24.1”、“babel-preset-react”:“^6.24.1”、“less-loader”:“^4.1.0”、“react -app-rewire-less”:“^2.1.2”,“react-app-rewired”:“^1.5.2”,“ts-import-plugin”:“^1.5.4”,“typescript”:“ ^2.9.2"}
-
只需运行“npm i react-router-dom”然后重启服务器,它对我有用。
标签: reactjs typescript react-router-dom