reactjs - React Router 5 中的 Redirect 成功重定向,但不渲染子组件
问题描述
我已经更改了我的应用程序中的路线,如果任何用户已将旧路线的网址添加为书签,我已经添加了一些对新路线的重定向。他们中的大多数都工作正常,但是这个不是 -
应用程序.tsx
import { Router } from 'react-router-dom';
import Routes from './Routes';
import history from './history';
const App: FunctionComponent = () => (
<Router history={history}>
<Routes />
</Router>
);
export default App;
RouteSwitch.txt
import React, { FunctionComponent } from 'react';
import { Switch, Route, Redirect } from 'react-router-dom';
const RouteSwitch: FunctionComponent = () => {
return (
<Switch>
<Redirect exact from="/documents" to="/documents/list" />
<Route exact path="/documents/list">
<DocumentsContainer />
</Route>
</Switch>
);
};
export default RouteSwitch;
/documents
从to的重定向/documents/list
工作,但是DocumentsContainer
不会被渲染。如果我直接请求/documents/list
,那么它会很好。就好像<Switch>
找到了它的第一个匹配项(重定向),然后决定它的工作已经完成。我尝试将push
道具添加到重定向,但没有任何区别。
我的示例与 React 培训网站上给出的示例非常相似 - https://reacttraining.com/react-router/web/api/Redirect/from-string
想法?
解决方案
问题已解决 -DocumentsContainer
组件实际上正在渲染,但由于使用重定向导致加载程序计数增加 1(但不减少)导致加载程序计数不返回 0 到允许从 Redux 加载文档数据并渲染内容。
推荐阅读
- jquery - 域名 - 计算 TLD 以外的字符数
- windows - 使用 reg 查询时批处理脚本中的问题
- chess - minimax 中的迭代深化 - 对所有合法移动进行排序,或者只是找到 PV 移动然后使用 MVV-LVA?
- google-chrome - SVG:在路径上应用过滤器在 Chrome 中不起作用
- java - 切换 LinearLayout 的不可见和可见
- kotlin - Kotlin - 找不到与 java.util.function.Function 等效的 kotin
- sql - How to extract a value from JSON column with MariaDB, being this not an exact value in the JSON field?
- go - 如何找到涵盖特定 Go 代码的测试?
- python - 我被 sklearn model_selection 的 train_test_split 困住了
- ruby-on-rails - 为什么我的工作在测试期间没有完成?