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

Sre*_*tan 8 reactjs

我是新手,这对我来说只是一次尝试,我收到了这个错误,有人可以帮助我吗?我已经尝试过更改路线,然后收到此错误。

问题

TypeError: meta.relativePath.startsWith is not a function
Run Code Online (Sandbox Code Playgroud)

小智 9

我刚刚解决了同样的问题。答案就在这里。

/sf/answers/4898310231/

这就是我所遇到的导致错误的原因。

    <Routes>
      <Route exact path={["/", "/user"]} element={Home} />
      <Route exact path="/add" element={AddUser} />
    </Routes>
Run Code Online (Sandbox Code Playgroud)

这是有效的修复方法

    <Routes>
      <Route exact path="/" element={<Home />} />
      <Route exact path="/add" element={<AddUser />} />
    </Routes>
Run Code Online (Sandbox Code Playgroud)

  • 这不会被称为解决错误...以前'/'和'/user'都渲染元素 &lt;Home /&gt; 后来你将其更改为“/” 当你给出多个路径来渲染时,就会出现冲突一个组件。但你实际上改变了问题并没有解决现有的问题。 (12认同)

小智 7

这个错误刚刚出现在我面前,似乎这个问题没有真正的解决方案,因为我进行了研究但没有结果。

我曾经有这样的代码,就像在路径属性内的数组中包含多个路由。

<Route exact path={['search', '/images', '/news', '/videos']} element={<Results />} />
Run Code Online (Sandbox Code Playgroud)

当我意识到互联网上没有解决方案时,我只是将每条路线分成一行。

    <Route exact path='/search' element={<Results />} />
    <Route exact path='/images' element={<Results />} />
    <Route exact path='/news' element={<Results />} />
    <Route exact path='/videos' element={<Results />} />
Run Code Online (Sandbox Code Playgroud)

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