类型错误:meta.relativePath.startsWith不是一个函数。

8
我是React的新手,这只是我的一次试验,我遇到了这个错误,请有人帮帮我吗?? 我已经尝试更改路由,然后我得到了这个错误。
问题:
TypeError: meta.relativePath.startsWith is not a function

请提供足够的代码,以便他人更好地理解或重现问题。 - Community
1
path 属性不是字符串时,会出现此问题。请确保 path 属性为字符串。 - Joel
3个回答

9

我刚刚解决了与此相同的问题,答案在这里。

https://dev59.com/g1EG5IYBdhLWcg3wOnWy#69975860

导致错误的是我之前的代码:

    <Routes>
      <Route exact path={["/", "/user"]} element={Home} />
      <Route exact path="/add" element={AddUser} />
    </Routes>

这是解决问题的方法

    <Routes>
      <Route exact path="/" element={<Home />} />
      <Route exact path="/add" element={<AddUser />} />
    </Routes>

12
这不能被称为解决错误...之前'/'和'/user'两者都会渲染元素<Home />后来你把它改成了只有"/"当你给多个路径去渲染同一个组件时,就会出现冲突。 但你实际上是改变了问题而不是解决了原本存在的问题。 - Sourabh
1
meta.relativePath.startsWith is not a function can also occur if an object is passed into path - thedanotto
我曾经试图向navigate({ search: searchParams })传递一个对象,但是需要一个字符串。为了解决这个问题,我使用了createSearchParams(searchParams).toString()代替searchParams - technogeek1995

7
这个错误突然出现在我面前,看起来没有真正的解决方案,因为我做了调查但没有结果。我以前的代码是这样的,将几个路由放在路径属性的数组中。
<Route exact path={['search', '/images', '/news', '/videos']} element={<Results />} />

曾经我发现互联网上没有解决方案,于是我将每条路线都分成单独的一行。

    <Route exact path='/search' element={<Results />} />
    <Route exact path='/images' element={<Results />} />
    <Route exact path='/news' element={<Results />} />
    <Route exact path='/videos' element={<Results />} />

这可能不是最好的解决方案,但如果你想继续工作,这是一个选择。

0

这对我有用,你也试试吧

<Route path="/" element={<Navigate replace to="/search" />} />


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接