Я пытаюсь отобразить компоненты React по сравнению с именами компонентов в файле JSON, который я создал. Например, я хочу визуализировать компонент TestSection внутри компонента моего маршрута.
Используются компоненты маршрутизации, предоставляемые «act-router-dom ».
Вот пример того, как я пытался создать динамические c маршруты и был совершенно сбит с толку, почему это не сработало:
(DynamicNavigaitonSwitcher. js)
import { BrowserRouter as Route, Switch } from "react-router-dom";
navigation = [
["Explore", "/", "Explore", false],
["Profile", "/profile/", "TestSection", false],
["Messages", "/messages/", "TestSection", false],
["Listings", "/listings/", "TestSection", false],
["Settings", "/settings/","TestSection", false],
["Login", "/login/","TestSection", false],
["Sign-up", "/signup/", "TestSection", false]
]
const Explore = () => {
return (
<div>
<h1>Explore !!</h1>
</div>
)
}
const TestSection = () => {
return (
<p>Hey</p>
)
}
const Components = {
testsection: TestSection,
explore: Explore
};
const DynamicRoutes = navigation.map((navItem) => {
return (
<Route path={navItem[1]} key={navItem[0]} name={navItem[0]} component={Components[navItem[2]]}/>
)
}
);
const DynamicNavigationSwitcher = () => {
return (
<div>
<Switch>
{DynamicRoutes}
</Switch>
</div>
)
}
export default DynamicNavigationSwitcher;