반응 런처
const RouterConfig = [
{
path: '/',
component: Home,
},
{
path: '/about',
component: About,
},
];
const app = new Launcher({
routes: RouterConfig,
});
app.start();
플러그인 메커니즘 세트 지원
const plugin = {
name: 'auth',
outer: (children, opt) => {
return <AuthProvider opt={opt}>{children}</AuthProvider>;
},
inner: (children, route, opt) => {
return (
<AuthRouteComponent route={route} opt={opt}>
{children}
</AuthRouteComponent>
);
},
};
const Home = () => <div>home</div>;
const About = () => <div>about</div>;
const app = new Launcher({
routes: [
{
path: '/',
component: Home,
},
{
path: '/about',
component: Home,
// /about authentication is required
hasAuth: true,
},
],
});
app.use(plugin, opt);
outer는
Router
구성 요소의 외부 레이어에 래핑되며, 전역적으로 고유한 것으로 해석될 수 있는 Router
의 부모로서 inner는 각 Route
구성 요소 외부에 래핑됩니다. 일반적인 시나리오는 경로 인증입니다. 위의 코드에서와 같이내가 왜 이것을 쓰고 있습니까?
회사의 실제 프로젝트에서 모두가 기본 React-Router이며 동적 라우팅 유연성을 기반으로 합니다. 1. 프로젝트의 경로 구성 논리를 추적할 수 없으며 초보자가 페이지를 찾으려면 가장 바깥쪽 레이어 레이어에서 찾아야 합니다. 2. 일부 제어 논리(인증), 일반 논리(페이지 제목) 및 기타 요구 사항에 대해 캡슐화 형식이 균일하지 않습니다.
개인적으로 현재 React-Routerdynamic routing를 사용하고 있지만 실제 동적 라우팅의 기능을 사용하지 않고 있다는 느낌이 듭니다. 기능은 렌더링 시간에 응용 프로그램의 경로를 변경하는 기능, 즉 반응형 라우팅이므로 결과적으로 동적 라우팅의 유연성도 사용되지 않고 정적 라우팅의 단순성도 손실되지 않으며 응용 프로그램에서 라우팅의 모든 이점을 사용할 수 있습니다. 한눈에 볼 수 있습니다.
프로젝트 주소: https://github.com/myNameIsDu/react-launcher
개인적인 편견이니 틀린 부분 있으면 지적 부탁드립니다
Reference
이 문제에 관하여(반응 런처), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/mynameisdu/react-launcher-1k6l텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)