reactjs React标签中的element属性和component属性有什么区别< Route>< Route/>

fumotvh3  于 2023-04-29  发布在  React
关注(0)|答案(4)|浏览(392)

情况1:在Route标记中使用元素属性时

const App = () => {
  return(
    <Routes>
      <Route path="/" element={<Home />} />
      <Route path="/album" element={<Album />} />
    </Routes>
  )
};

情况2:在Route标签中使用组件属性时

const App = () => {
  return(
    <Routes>
      <Route path="/" component={<Home />} />
      <Route path="/album" component={<Album />} />
    </Routes>
  )
};
but5z9lq

but5z9lq1#

react-router的当前文档说所有这些选项基本上都做了同样的事情,但他们留下它们是为了支持旧版本,但你只能使用其中的一个。

szqfcxe2

szqfcxe22#

您可能使用的版本等于或大于v5。1

根据documentation迁移,您可以在任何地方安全地使用element

  • “如果你升级到v5,切换到React Router v6会更容易。第一个v5。1,我们发布了一个元素处理的增强,这将有助于平滑过渡到v6。不要使用和props,只要在任何地方使用常规元素,并使用钩子访问路由器的内部状态。"*
jobtbby3

jobtbby33#

案例1:当在Route标签中使用element属性时,您必须在标签中指定组件名称。例如:(element={<.../>})。

const App = () => {
  return(
    <Routes>
      <Route path="/" element={<Home />} />
      <Route path="/album" element={<Album />} />
    </Routes>
  )
};

案例2:在Route标记中使用component属性时,你可以简单地将你的组件名称写在花括号中,而不需要添加标记。ex:(组分={...}).

const App = () => {
  return(
    <Routes>
      <Route path="/" component={Home} />
      <Route path="/album" component={Album} />
    </Routes>
  )
};
wljmcqd8

wljmcqd84#

元素属性与组件属性的主要区别;首先:如果你升级到v5,那么切换到React Router v6会更容易。1第二:元素属性提供了使用 prop 的机会,但在组件属性中你不能。

<Routes>
 <Route path='/home' element={<Home prop={"somedata"}/>}/>
 <Route path='/about' Component={About} >
</Routes>

相关问题