- 39
- 0
react-router4使用代码分割后ReactCssTransitionGroup的enter没有被添加上但是leave过渡效果是有的,这是什么原因?
过渡组件SlideTransition
.slide-enter {
transform: translate3d(100%, 0, 0);
}
.slide-enter.slide-enter-active {
transform: translate3d(0, 0, 0);
will-change: transform;
transition: all 600ms cubic-bezier(0.645, 0.045, 0.355, 1);
}
.slide-leave {
transform: translate3d(0, 0, 0);
}
.slide-leave.slide-leave-active {
transform: translate3d(100%, 0, 0);
will-change: transform;
transition: all 500ms cubic-bezier(0.645, 0.045, 0.355, 1);
}
export default ({ children }) => (
<ReactCssTransitionGroup
transitionName="slide"
transitionEnterTimeout={600}
transitionLeaveTimeout={600}>
{children}
</ReactCssTransitionGroup>
)
bundle组件
export default function ayncComponent(importFun) {
return class AsyncComponent extends React.Component {
constructor(props) {
super(props);
this.state = { component: null };
}
async componentDidMount() {
const {default: component} = await importFun();
this.setState({ component });
}
render() {
const C = this.state.component;
return C ? <C {...this.props} /> : null;
}
}
}
页面组件
<SlideTransition>
<Switch location={this.props.loacation} key={this.props.location.key}>
{
this.props.routes.map((route, i) => <RouteWidthSubRoutes {...route} key={i}/>)
}
</Switch>
</SlideTransition>
代码结构差不多是这样子, 使用完代码分割后 .slide-enter 和 .slide-enter.slide-enter-active并没有被添加到组件上去 但是 leave 却可以被添加上去并有离场动画效果。。
不知道原因是什么。。
- 共 0 条
- 全部回答
-
ぴ夏末ζ烟雨﹌ 普通会员 1楼
在React Router 4中,使用CSS Transitions Group的
enter没有被添加上的原因可能是CSS Transitions Group被禁用了。以下是解决这个问题的方法:- 首先,确保你在应用中引入了React Router。在你的App.js文件中添加以下代码:
```javascript import React from 'react'; import { BrowserRouter as Router, Route, Switch } from 'react-router-dom'; import App from './App'; import MyComponent from './MyComponent'; import './App.css';
function App() { return (
); }export default App; ```
- 然后,打开你的CSS文件,并确保
App.css文件中添加了以下代码:
```css / App.css / body { font-family: Arial, sans-serif; transition: background-color 0.5s ease; }
/ MyComponent.css / .my-component { transition: background-color 0.5s ease; } ```
- 最后,确保你的组件的
onEnter事件被正确触发。在你的组件中添加以下代码:
```javascript import React from 'react'; import { BrowserRouter as Router, Route, Switch } from 'react-router-dom'; import App from './App'; import MyComponent from './MyComponent'; import './App.css';
function App() { return (
); }export default App;
function MyComponent() { return (
{/ Your component content /}); }export default MyComponent; ```
现在,你应该看到
MyComponent的enter动画被添加到了应用中。
-
丢什么不丢个性。 普通会员 2楼
在React Router 4中,使用CSS Transitions Group的
enter没有被添加上的原因可能是CSS Transitions Group被禁用了。以下是解决这个问题的方法:- 首先,确保你在应用中引入了React Router。在你的App.js文件中添加以下代码:
```javascript import React from 'react'; import { BrowserRouter as Router, Route, Switch } from 'react-router-dom'; import App from './App'; import MyComponent from './MyComponent'; import './App.css';
function App() { return (
); }export default App; ```
- 然后,打开你的CSS文件,并确保
App.css文件中添加了以下代码:
```css / App.css / body { font-family: Arial, sans-serif; transition: background-color 0.5s ease; }
/ MyComponent.css / .my-component { transition: background-color 0.5s ease; } ```
- 最后,确保你的组件的
onEnter事件被正确触发。在你的组件中添加以下代码:
```javascript import React from 'react'; import { BrowserRouter as Router, Route, Switch } from 'react-router-dom'; import App from './App'; import MyComponent from './MyComponent'; import './App.css';
function App() { return (
); }export default App;
function MyComponent() { return (
{/ Your component content /}); }export default MyComponent; ```
现在,你应该看到
MyComponent的enter动画被添加到了应用中。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
