我正在寻找类似 prop的所有路线的类似children
的机制。React Router v4 - 获取与路径匹配的路由集合的方式?
最初我正在考虑检查SplitView
的children
。虽然我现在意识到Routes
本身将是children
而不是他们呈现的组件。
使用案例: 我们的应用程序将在视口的两半中的一个中渲染内容。
- 如果一个
SplitView
没有children
,其他SplitView
将扩展为占用视口的全高度 - 否则它是一个50/50。- 到这个问题的解决可能只是一个Flexbox将超过上
children
计数...
- 到这个问题的解决可能只是一个Flexbox将超过上
- 如果底部
SplitView
的children.length
分别为0,比<Header />
不会得到呈现。 - 如果要么
SplitView
的children.length > 1
,比我们将生成标签,或使“swipeable”,该分裂的内容。
在SplitView
虽然一个Route
的任何匹配将永远是这Route
和SplitView
的children
的子组件将始终是路由的仅有数预先定义的。我不怀疑可能有更好的方法来实现我在这里所做的目标,也欢迎这方面的替代方案。
代码示例: https://codesandbox.io/s/x9mpl34jvw
<SplitView>
<Route path={["/foo", "/bar"]} component={ContainerA} />
<Route path="/baz" component={ContainerB} />
<Route path="/bob" component={ContainerG} />
</SplitView>
{ onlyIfMatchesInBottomSplit && <Header /> }
<SplitView>
<Route path="/foo" component={ContainerC} />
<Route path="/bar" component={ContainerD} />
<Route path="/baz" component={ContainerE} />
<Route path="/dob" component={ContainerF} />
</SplitView>
/富
+ - +
| A |
+ - +
| C |
+ - +
/条
+ - +
| A |
+ - +
| D |
+ - +
/巴兹
+ - +
| B |
+ - +
| E |
+ - +
/DOB
+ - +
| |
+ F +
| |
+ - +
需要明确的是,这个问题是不是得到的组件渲染在正确的组合,它做工精细的一部分。它可以在数组中捕获为每个SplitView
渲染的组件,以便可以像使用children
一样操作它们。
Paul!这里的问题似乎是我将为每一对分裂产生一个“路线”,这正是我想要避免的。 – Jadam
啊,是的。我懂了。我误解了。 –