renderRoutes 和位置 属性 on <Switch>
renderRoutes and the location property on <Switch>
我正在尝试使用 react-transition-group library for page transition in an app using react-router-config。
要使 react-transition-group 正常工作,我需要在 <Switch>
上添加一个位置 属性,如下所示:
<Switch location={location}>
但是,由于使用react-router-config语法时没有<Switch>
,我有点迷茫。有什么建议吗?
有人讨论这个问题here and here,但似乎还没有解决方案。
我当前的组件看起来像这样,转换工作有问题。
class App extends Component {
render() {
const currentKey = this.props.location.pathname;
const timeout = 2000;
return (
<div>
<TransitionGroup component="main" className="page-main">
<CSSTransition
key={currentKey}
timeout={timeout}
classNames="fade"
mountOnEnter={true}
unmountOnExit={true}
appear
>
{renderRoutes(this.props.route.routes)}
</CSSTransition>
</TransitionGroup>
</div>
);
}
}
{renderRoutes(this.props.route.routes, null, {
location: this.props.location
})}
这就是答案。但是,目前 这仅适用于最新版本的 react-router-config,即 available from GitHub,但不适用于 NPM。我有 NPM 版本,官方 react-router-config 文档的建议只会给我一个错误。
renderRoutes(routes, extraProps = {}, switchProps = {})
现在像 react-transition-group 这样的东西似乎工作正常。
我正在尝试使用 react-transition-group library for page transition in an app using react-router-config。
要使 react-transition-group 正常工作,我需要在 <Switch>
上添加一个位置 属性,如下所示:
<Switch location={location}>
但是,由于使用react-router-config语法时没有<Switch>
,我有点迷茫。有什么建议吗?
有人讨论这个问题here and here,但似乎还没有解决方案。
我当前的组件看起来像这样,转换工作有问题。
class App extends Component {
render() {
const currentKey = this.props.location.pathname;
const timeout = 2000;
return (
<div>
<TransitionGroup component="main" className="page-main">
<CSSTransition
key={currentKey}
timeout={timeout}
classNames="fade"
mountOnEnter={true}
unmountOnExit={true}
appear
>
{renderRoutes(this.props.route.routes)}
</CSSTransition>
</TransitionGroup>
</div>
);
}
}
{renderRoutes(this.props.route.routes, null, {
location: this.props.location
})}
这就是答案。但是,目前 这仅适用于最新版本的 react-router-config,即 available from GitHub,但不适用于 NPM。我有 NPM 版本,官方 react-router-config 文档的建议只会给我一个错误。
renderRoutes(routes, extraProps = {}, switchProps = {})
现在像 react-transition-group 这样的东西似乎工作正常。