Разделение маршрутов в маршрутизаторе react

#javascript #reactjs #react-router #coding-style

Вопрос:

Я использую React с react-router-dom, и я хочу разделить свои маршруты на разные файлы для более чистого кода. Допустим, у меня есть SettingsRoutes.js и ChatRoutes.js . Каждый из них содержит соответствующие маршруты, такие как: Settings.js

 const SettingsRoutes = () => {
    const routes = [
        { path: '/help-center', Component: HelpCenter },
        { path: '/contact-us', Component: ContactUs },
        { path: '/terms', Component: TermsOfService },
        { path: '/guidelines', Component: CommunityGuidelines },
        { path: '/policy', Component: PrivacyPolicy },
        { path: '/account', Component: Account },
        { path: '/notifications', Component: Notifications },
        { path: '/report', Component: Report },
        { path: '/settings', Component: Settings },
        
    ]

    return (
        <>
            {routes.map(({ path, Component }) => (
                <Route path={path} exact render={props => <Component {...props} />} />
            ))}
        </>
    )
}

export default SettingsRoutes
 

Chat.js

 import React from 'react'
import { Route, Switch } from 'react-router'
import Inbox from '../container/allChat'
import Chat from '../container/allChat/inbox/Chat'

const ChatRoutes = ({ socket, matches }) => {
    const BASE_URL = '/chat'
    const baseProps = { socket }
    const routes = [
        { path: `${BASE_URL}`, Component: Inbox, ownProps: baseProps },
        {
            path: `${BASE_URL}/rooms/:roomId/:name/:roomOwnerId`,
            Component: matches ? Inbox : Chat,
            ownProps: baseProps
        },
        { path: `${BASE_URL}/rooms/:mid`, Component: Inbox, ownProps: baseProps }
    ]
    return (
        <>
            {routes.map(({ path, Component, ownProps }) => (
                <Route
                    path={path}
                    exact
                    render={props => <Component {...props} {...ownProps} />}
                />
            ))}
        </>
    )
}

export default ChatRoutes
 

index.js (Маршруты)

     <Switch>
            <ChatRoutes {...chatProps} />
            <SettingsRoutes/>   
        </Switch>
    )

 

Сейчас по какой-то причине только ChatRoutes.js визуализируются, но не Settings.js
Я думаю, что это как-то связано с Switch , но не совсем уверен, в чем проблема.
Спасибо вам за помощь.