我不明白为什么它会给我上述错误。我在 props.match.params.languagename 中使用了 props 方式,它工作得很好。
我没有在下面的代码中包含所有导入。
import { useParams } from 'react-router';
const App = () => {
const topicsState = useSelector(state => state.topics);
const dispatch = useDispatch();
const { languagename } = useParams();
useEffect(() => {
dispatch(fetchGitHubTrendingTopics());
}, [dispatch]);
const handleRepositoryPages = () => {
const repositoryPages = topicsState.find(
topicState => topicState.name === languagename
);
if (repositoryPages)
return <RepositoryPage repositoryPages={repositoryPages} />;
};
return (
<>
<Router>
<Header topics={topicsState} />
<Switch>
<Route path="/" exact>
<Dashboard topics={topicsState} />
</Route>
<Route
path="/language/:languagename" …Run Code Online (Sandbox Code Playgroud) 例如,这是一个有效的URL:
http://0.0.0.0:8080/auth/reset?id=AAAAAAAAAAA=&code=uX8kklWhVi-Vhp4BdMRQYBEveEdwQXBFDecLlsT6yBw=
从我研究的内容来看,似乎不鼓励(但我没有发现任何确定的东西),但我测试过的所有解码器都正确地解码了它.这包括:
decodeURIComponent这是一个例子:
该url参数http://journals.plos.org/plosone/s/file?id=wjVg/PLOSOne_formatting_sample_main_body.pdf,不进行编码.它包含保留字符,如冒号,斜杠和问号.
为什么这仍然有效?为什么在没有它的情况下工作呢?