我从下面的React Router获取docs:
但是现在Home无法参与路由,就像onEnter挂钩一样, 您在与帐户和报表相同的位置呈现,所以 路由器允许您将Home作为第一类路由组件 使用IndexRoute。
他在这里路由是什么意思?什么是onEnter挂钩?
答案 0 :(得分:1)
docs here稍微简单一些:
想象一下,当我们想要在App中渲染另一个组件时 网址是/。目前,这个.pros.children在App的渲染方法中 在这种情况下是未定义的。 我们可以使用
<IndexRoute>
来指定 &#34;默认&#34;页。强>
至于onEnter
docs here更好:
路由还可以定义一次调用的
onEnter
和onLeave
挂钩 过渡已得到确认。这些钩子适用于各种各样的 在输入路线时要求auth并保存东西的事情 路径卸载前的持久存储。
答案 1 :(得分:1)
由于Error:Execution failed for task ':app:clean'.
> Unable to delete directory: /mnt/D/Document/WorkSpace/Android/Test/app/build/intermediates/exploded-aar/com.android.support/cardview-v7/25.0.0/jars
正在包装其他路由,因此匹配给定网址的路由将传递到Error:Execution failed for task ':app:clean'.
> Unable to delete directory: /mnt/D/Document/WorkSpace/Android/Test/app/build/intermediates/exploded-aar/com.android.support/support-compat/25.0.0/jars/libs
以通过App
呈现。因此,如果您通过App
等语句渲染this.props.children
,则无法访问Home
的react-router&#hook}。一个这样的钩子是Home
,它会在输入路线时触发回调。
当您将{this.props.children || <Home/>}
定义为onEnter
时,它是一条独特的路线,可匹配Home
匹配的路线。这样,我们就不需要IndexRoute
中的or子句,我们可以通过App