问题描述
我现在正在研究反应。我发现程序员在进行路由时通常使用组件属性。因此,要路由名为Menu的组件,他们会编写类似
的代码<Route exact path='/menu' component={ Menu } />
而不是
<Route exact path='/menu'> <Menu /> </Route>
我认为将props
赋予Menu
组件时,第二种方法更加方便。所以我的问题是,作为第一种方法编写代码有什么好处?
谢谢。
解决方法
全部与用例有关。我们可以通过以下几种方法来声明一条路线:
-
组件
<Route to="/home" component={Home} />
如果不想让控件将任何道具传递给组件,只需将组件对象作为道具传递给路由,就可以通过这种方式添加路线。
-
渲染
<Route to="/home" render={props => <Home {...props} />} />
当想要控制将任何道具传递给Component甚至更新现有组件prop时,一个add路由就这样。
-
孩子
<Route exact path='/home'> <Home/> </Route>
这是将路径组件作为子级传递到路径组件的另一种方法。您可以再次传递道具,也可以将组件包装到另一个组件或某些html结构中。
选择一个解决方案只是开发人员的选择。如今,开发人员使用许多方法或框架在react应用程序中进行路由。我个人喜欢第一个,因为它很干净,可以确保道具类型并在出现任何违规时发出警告,而且我也没有在路线级别上传递用例或道具。