Итак, это мой коммутатор:
<Switch>
<Redirect exact from={`${match.url}`} to={`${match.url}/faq`} />
<Route exact path={`${match.url}/faq`} component={FAQPage} />
<Route path={`${match.url}/troubleshooting`} component={FAQPage} />
<Redirect from={`${match.url}/*`} to={`${match.url}/faq`} />
</Switch>
Моя страница часто задаваемых вопросов - это компонент со списком, который показывает данные из REDUX в зависимости от типа списка:
let listType = 'troubleshooting';
if (this.props.match.url.indexOf('faq') !== -1) {
listType = 'faq';
}
Где у меня есть ListContainer, который содержит список реагирующего семантического интерфейса пользователя, который будет заполнять данные.
Моя проблема в том, что, если я загружу страницу, я вернусь к данным и покажу их, но когдаЯ перехожу на другую страницу.Он не будет повторно отображать listContainer, что означает, что он не будет извлекать данные, поэтому он будет отображаться пустым.Если я принудительно перезагрузлю, тогда моя вторая страница загрузится, но когда я перейду на первую, я получу пустые данные.
ЕСЛИ я копирую, вставляю код моего компонента и создаю другой компонент для вставкивторой маршрут коммутатора.Что-то вроде:
<Switch>
<Redirect exact from={`${match.url}`} to={`${match.url}/faq`} />
<Route exact path={`${match.url}/faq`} component={FAQPage} />
<Route path={`${match.url}/troubleshooting`} component={TroubleShootingPage} />
<Redirect from={`${match.url}/*`} to={`${match.url}/faq`} />
</Switch>
Это будет работать, если предположить, что компонент другой, поэтому он не используется повторно, поэтому он должен отображаться полностью.
Мой вопрос: возможно ли это?заставить перезагрузить мою FAQPage из SWITCH?Чтобы он всегда показывал правильные данные?(Я мог бы просто оставить код с двумя точно такими же файлами .js, но я не хочу иметь такую избыточность в коде.