gpt4 book ai didi

javascript - 使用 Accordion 布局 react 路由器转换

转载 作者:行者123 更新时间:2023-12-03 00:07:18 24 4
gpt4 key购买 nike

我正在使用 React 重建我的网站。我遇到了 react 路由器和 react 过渡组的问题。在 React Router 文档中,有一个如何创建动画过渡的指南。但它附加到特定的布局:

nav
- link a
- link b
- link c
container
- body a
- body b
- body c

据我了解,关键点是用 TransitionGroup、CSSTransition 和 Swtich 包裹所有主体。我或多或少知道它是如何工作的。过渡组保留先前的路线主体并将其过渡出去。
但正如我已经说过的,这个解决方案附加到这个布局上。
在我的网站上,我有这样的布局:

   - link a
- body a (slides down on link click)
- link b
- body b (slides down on link click)
- link c
- body c (slides down on link click)

我的网站引用:https://dmws.me/
您能否建议我这种布局的最佳实践?

最佳答案

好吧,经过多次尝试和失败,我找到了一个可行的解决方案。关键点在于 Router 文档 => 路由渲染方法 => 子项
https://reacttraining.com/react-router/web/api/Route/children-func
这是我的代码:

<div>
<Link to="/">Home</Link>
<Route
exact
path="/"
children={({ match, ...rest }) => (
<CSSTransition
in={match}
timeout={500}
classNames="foo"
mountOnEnter
unmountOnExit
>
<Home />
</CSSTransition>
)}
/>

<Link to="/about">About</Link>
<Route
path="/about"
children={({ match, ...rest }) => (
<CSSTransition
in={match}
timeout={500}
classNames="foo"
mountOnEnter
unmountOnExit
>
<About />
</CSSTransition>
)}
/>
</div>

关于javascript - 使用 Accordion 布局 react 路由器转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54904339/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com