react-keeper icon indicating copy to clipboard operation
react-keeper copied to clipboard

Route里不能嵌套Route?

Open objHua opened this issue 4 years ago • 1 comments

问题: 使用了HashRoute,在Route里面嵌套了两个子页面的Route,结果发现从/页面跳转子页面sub-table时match不到子页面。

期望: sub-table等子页面也能正确匹配

代码:

const Home = () => {
    const userType: UserPermissionType = getPermissionType();
    return (
        <div className="root">
            <SystemHeader localStore={localStore} userStore={userStore} />
            <Route
                component={userType === UserPermissionType.Bussiness ? MainTablePage : HomePage}
                index
            />
            <Route
                component={SubTablePage}
                path="/sub-table"
                enterFilter={[initLang, loginCheck, checkPermission, getSetting]}
            />
            <Route
                component={AssignTable}
                path="/assign-business"
                enterFilter={[initLang, loginCheck, checkPermission]}
            />
        </div>
    );
};

const App = () => {
    return (
        <Provider
            userStore={userStore}
            localStore={localStore}
        >
            <LocaleProvider locale={localStore.currentLocal.muya}>
                <HashRouter>
                    <>
                        <Route
                            component={Home}
                            path="/"
                            enterFilter={[initLang, loginCheck, checkPermission, getSetting]}
                        />
                        <Route
                            component={NoPermission}
                            path="/no-permission"
                            enterFilter={[initLang]}
                        />
                        <Route component={LoginPage} path="/login" enterFilter={[initLang]} />
                    </>
                </HashRouter>
            </LocaleProvider>
        </Provider>
    );
};

ReactDom.render(<App />, document.querySelector('#root'));

objHua avatar Apr 28 '20 11:04 objHua

也不算Route里面嵌套Route吧,严格来讲是Route里的组件添加Route,文档上说可以动态添加Route,但实际上添加的子页面并没有匹配到

objHua avatar Apr 28 '20 11:04 objHua