У меня есть приложение React
, и я не хочу дублировать функциональность во всех моих компонентах, чтобы перенаправить пользователя на /<component>/list
, если они go на /<component>
- как бы я это сделал на более высоком уровне? Уровень?
У меня есть компонент макета, который будет местом, чтобы сделать это, если бы я должен был догадаться. У меня есть getRoutes
метод там, который обрабатывает файл определений маршрутов. Однако я хотел бы предоставить список компонентов, которые необходимо перенаправить на этот /<component>/list
путь, если они go к одному из компонентов в этом списке:
List: ['/templates', '/activities', '/trials']
Visiting:
/templates: redirects to `/templates/list`
/activities: redirects to `/activities/list`
/custom: does nothing, renders CustomComponent
/trials: redirects to `/trials/list`
/trials/new: does nothing, renders new method
Возможно ли это ? Я пытался использовать, но безуспешно при захвате предметов без явно заданного пути:
<Switch>
<Route path="/templates">
{<Redirect to="/templates/list"/>}
</Route>
...
</Switch>
Есть ли способ сделать это примерно так? :
var paths = ['templates', 'trials'];
getRoutes = routes => {
return (
[if path matches /{paths[0..n]]
<Redirect to={{pathname: /paths[0..n]/list}} />
[/if]
);
}
Не думаю, что я здесь на правильном пути, но есть ли что-то похожее на то, что я пытаюсь достичь sh?