forgeplus-react/src/forge/Issues/index.jsx

78 lines
2.0 KiB
JavaScript

import React,{useEffect} from 'react';
import { Route, Switch } from "react-router-dom";
import Loadable from "react-loadable";
import Loading from "../../Loading";
import './index.scss';
const List = Loadable({
loader: () => import("./Pages/list"),
loading: Loading,
});
const Detail = Loadable({
loader: () => import("./Pages/details"),
loading: Loading,
});
const Sign = Loadable({
loader: () => import("./Pages/sign"),
loading: Loading,
});
const New = Loadable({
loader: () => import("./Pages/new"),
loading: Loading,
});
function Index(props){
const pathname = props.history.location.pathname;
useEffect(() => {
if (document) { // 可以排除不需要置顶的页面
if (document.documentElement || document.body) {
document.documentElement.scrollTop = document.body.scrollTop = 0; // 切换路由时手动置顶
}
}
}, [pathname]);
return(
<div className="pagebox">
<Switch>
<Route
path="/:owner/:projectsId/issues/:index/copy"
render={(p) => (
<Detail {...props} {...p}/>
)}
></Route>
{/* 里程碑创建issue */}
<Route
path="/:owner/:projectsId/issues/:milepostId/new"
render={(p) => (
<New {...props} {...p}/>
)}
></Route>
<Route
path="/:owner/:projectsId/issues/new"
render={(p) => (
<New {...props} {...p}/>
)}
></Route>
<Route
path="/:owner/:projectsId/issues/sign"
render={(p) => (
<Sign {...props} {...p}/>
)}
></Route>
<Route
path="/:owner/:projectsId/issues/:index"
render={(p) => (
<Detail {...props} {...p}/>
)}
></Route>
<Route
path="/:owner/:projectsId/issues"
render={(p) => (
<List {...props} {...p}/>
)}
></Route>
</Switch>
</div>
)
}
export default Index;