react router Transition
使用react-create-app
App.js
import React, { Component } from 'react'; import { BrowserRouter as Router, Route, Link,Redirect,Switch } from "react-router-dom"; import { TransitionGroup, CSSTransition } from "react-transition-group"; import '../src/assets/sass/App.css'; const NavLink = (props) => { return( <li style={styles.navItem}> <Link {...props} style={{color: "inherit"}}/> </li> ) } const HSL = ({match: {params}}) => { return( <div style={{ ...styles.fill, ...styles.hsl, background: `hsl(${params.h}, ${params.s}%, ${params.l}%)` }}> hsl({params.h}, {params.s}%, {params.l}%) </div> ) } const RGB = ({match: {params}}) => { return ( <div style={{ ...styles.fill, ...styles.rgb, background: `rgb(${params.r}, ${params.g}, ${params.b})` }}> rgb({params.r},{params.g},{params.b}) </div> ) } class App extends Component { render() { return ( <Router> <Route render={({location}) => ( <div style={{...styles.fill}}> <div style={{ padding: '20px', color: '#f00', }}>https://reactcommunity.org/react-transition-group/</div> <Route exact path='/' render={() => <Redirect to="/hsl/10/90/50" />}/> <ul style={styles.nav}> <NavLink to="/hsl/10/90/50">Red</NavLink> <NavLink to="/hsl/120/100/40">Green</NavLink> <NavLink to="/rgb/33/150/243">Blue</NavLink> <NavLink to="/rgb/240/98/146">Pink</NavLink> </ul> <div style={styles.content}> <TransitionGroup> <CSSTransition key={location.key} classNames="fade" timeout={1000} onEnter={()=>console.log('onEnter')}> <Switch location={location}> <Route exact path="/hsl/:h/:s/:l" component={HSL}/> <Route exact path="/rgb/:r/:g/:b" component={RGB} /> <Route render={() => <div>Not Found</div>} /> </Switch> </CSSTransition> </TransitionGroup> </div> </div> )}/> </Router> ); } } const styles = {}; styles.fill = { position: "absolute", left: 0, right: 0, top: 0, bottom: 0 }; styles.content = { ...styles.fill, top: "40px", textAlign: "center", width: '100%', overflowX: 'hidden', }; styles.nav = { padding: 0, margin: 0, position: "absolute", top: 0, height: "40px", width: "100%", display: "flex" }; styles.navItem = { textAlign: "center", flex: 1, listStyleType: "none", padding: "10px" }; styles.hsl = { ...styles.fill, color: "white", paddingTop: "20px", fontSize: "30px" }; styles.rgb = { ...styles.fill, color: "white", paddingTop: "20px", fontSize: "30px" }; export default App;
App.css
.fade-enter { transform: translateX(-100%); z-index: 1; } .fade-enter.fade-enter-active { transform: translateX(0); transition: all 1s ease; } .fade-exit{ transform: translateX(0); } .fade-exit.fade-exit-active{ transform: translateX(100%); transition: all 1s ease; }
效果
參考:
相關推薦
react router Transition
使用react-create-app App.js import React, { Component } from 'react'; import { BrowserRouter as Router, Route, Link,Redirect,Switch } from
React+React Router+React-Transition-Group實現頁面左右滑動+滾動位置記憶
在React Router中,想要做基於路由的左右滑動,我們首先得搞清楚當發生路由跳轉的時候到底發生了什麼,和路由動畫的原理。 首先我們要先了解一個概念:history。history原本是內置於瀏覽器內的一個物件,包含了一些關於歷史記錄的一些資訊,但本文要說的history是React-R
React-Router 4 的新玩意兒
nbsp 上一個 默認 end browser lan pre cat 發布 上一個項目用的還是 2.6.1,轉眼的功夫 4.0 都發布了,API 變化實在有點大,2.X那套東西不頂用了,老老實實重新看一遍文檔,其中有幾點需要註意的,拿出來說一說。 本文只討論針對瀏覽器的
react-router與react-redux跳轉後保存store數據(基於"react-router": "^2.8.0")
spa imp pan item 介紹 評論 tdi else mount 1.router引入 import { Route, IndexRoute, Router, hashHistory, browserHistory } from ‘react-router‘;
react-router打包後無法通過路由進入到頁面
裏的 col ces con def gin cnblogs style 數據 react-router打包後無法通過路由進入到頁面,是因為當我們使用react-router-dom裏的BrowserRouter as Router時,是用瀏覽器history對象的方法去請
react-router 參數獲取
list nds classname clas param 點擊 urn show lin No BB!!! show me the code。 Main.js import { BrowserRouter, Route, Link ,Switch} from
[Preact] Integrate react-router with Preact
ram pro chan type rop ear ret mpat console React-router is the community favourite routing solution - it can handle all of your complex r
react-router v4 學習實踐
key 網上 .com 主域 left 登錄 返回 定向 .cn 最近學習了 react-router v4,根據官方 API 文檔和網上資源做了一個簡單的路由示例。 先用官方的工具 create-react-app 初始化一個 react 項目模板,再根
React Router 使用教程
onos undefine ria www -m line ont col var 由於不清楚App組件的this.props.children屬性就是子組件,所以在url設置路徑訪問時希望的組件一直不能顯示。 參考:http://www.ruanyifeng.com/bl
react-router搭配react-redux無法監聽路由變化的問題
不必要 默認 cti 傳遞 通過 nbsp fun urn style 在react中,要將react組件連接到redux中,通常會這樣包裝組件 class Home extends Component { } function select(state)
vue-router transition 路由切換效果
link form turn data bic auto router mar all 所需更改文件 App.vue template結構: <template> <div id="app"> <div id="nav">
react-router
ops 默認 首頁 ide class logs inbox tin uid 路由配置 我們來通過一個簡單的例子解釋一下如何編寫路由配置。 React.render(( <Router> <Route path="/" component={
【前端】react學習階段總結,學習react、react-router與redux的這些事兒
行程 clas 目前 webpack body src 控制 return 體驗 前言 借用阮一峰的一句話:真正學會 React 是一個漫長的過程。 這句話在我接觸react深入以後,更有感觸了。整個react體系都是全新的,最初做簡單的應用,僅僅使用react-to
通過一個用戶管理實例學習react-router-dom知識
函數 parse spa 用戶管理 匹配 對象 有一個 dom nds 我們通過一個用戶管理實例來學習react-router-dom 這個實例包括9個小組件 App.js 引入組件 Home.js 首頁組件 User.js 用戶管理組件 - UserLis
React Router 4.0中文快速入門
arch ring ooo 組件 arc ret 自動 import export 1 import React from ‘react‘ 2 import { 3 BrowserRouter as Router, 4 Route, 5
React+router和react+redux使用過程的記錄
app.js 描述 集成 關系 route false 操作 之間 ade 1、集成react+redux的場景。 在不同的路由頁面下,控制公共的頭部顯示和隱藏等功能。因為路由和Header之間不是直接的父組件和子組件的關系,所以通過pros傳參滿足不了。這個時候引入red
[轉] React Router 使用教程
num 方維 inpu export 定向 分離 his mar java 你會發現,它不是一個庫,也不是一個框架,而是一個龐大的體系。想要發揮它的威力,整個技術棧都要配合它改造。你要學習一整套解決方案,從後端到前端,都是全新的做法。 舉例來說,React 不使用 H
react-router 4.0 學習筆記
com alt image div ima cnblogs link 圖片 imp 1、安裝react-router-dom 2、頁面上要使用的時候要引入 import { BrowserRouter as Router, Route, Link } fr
初步學習React Router 4.0
logs root erro gist 技術分享 發布 run row div React Router 4.0 (以下簡稱 RR4) 已經正式發布,它遵循React的設計理念,即萬物皆組件。 初始化項目啟動之後: 查看相關的配置:npm run eject 查看下p
Redux+React Router+Node.js全棧開發
流數據 inux sql數據庫 安全 體系 dea 基礎 tomcat集群 color 詳情請交流 QQ 709639943 01、Java深入微服務原理改造房產銷售平臺 02、跨平臺混編框架 MUI 仿豆瓣電影 APP 03、Node.js入門到企業Web開發中