gpt4 book ai didi

regex - 为什么react-router正确处理正则表达式 `path`,但同时抛出错误?

转载 作者:行者123 更新时间:2023-12-03 13:42:09 27 4
gpt4 key购买 nike

我有一个组件想要显示在除根路径之外的所有路径上。因此,我没有提供 Route 组件的所有路径,而是这样写的:

<Route exact path={/^\/.+$/} component={() =>
<div><img src="../../../assets/AndreyBogdanov2.jpg" className="me" /></div>
} />

该正则表达式匹配开头斜杠后面有任何字符的所有字符串。它按预期工作,但是,在控制台中我看到一个错误:

Warning: Failed prop type: Invalid prop `path` of type `regexp` supplied to `Route`, expected `string`.
in Route (created by App)
in App
in Router (created by BrowserRouter)
in BrowserRouter

并不是我在提示,而是我想知道,它是如何工作的?

path 属性的文档中,它说它需要是 path-to-regexp 理解的任何 URL,并且在 path-to -regexp 的文档,它说 regex 是一个有效的参数。所以基本上,组件的 PropTypes 在遇到字符串以外的内容时会抛出错误。

最佳答案

这是因为它只能接受字符串值。您还需要插入 path-to-regexp 可以读取的内容,如 React Router Training 中所述。 。您可以在其存储库 here 中查找如何编写有效的正则表达式.

关于regex - 为什么react-router正确处理正则表达式 `path`,但同时抛出错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50438628/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com