From 9c68c0c4201607fe05124f907d60e8108c151a93 Mon Sep 17 00:00:00 2001 From: Tahmid Shakil Date: Mon, 9 Jul 2018 11:02:06 +0700 Subject: [PATCH] React Router integration --- package.json | 1 + src/containers/app/index.js | 7 +++- src/containers/dashboard/index.js | 3 +- src/index.js | 6 ++- yarn.lock | 61 +++++++++++++++++++++++++++++-- 5 files changed, 70 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index e806362..cb96ee2 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,7 @@ "react": "^16.4.1", "react-dom": "^16.4.1", "react-redux": "^5.0.7", + "react-router-dom": "^4.3.1", "react-scripts": "1.1.4", "redux": "^4.0.0", "redux-thunk": "^2.3.0" diff --git a/src/containers/app/index.js b/src/containers/app/index.js index 805db19..2cc0c65 100644 --- a/src/containers/app/index.js +++ b/src/containers/app/index.js @@ -1,11 +1,16 @@ import React, { Component } from 'react'; +import { Route, Switch } from 'react-router-dom'; import Dashboard from '../dashboard'; +import NotFound from '../not_found'; class App extends Component { render() { return (
- + + + +
); } diff --git a/src/containers/dashboard/index.js b/src/containers/dashboard/index.js index 7dc186f..aed4bb0 100644 --- a/src/containers/dashboard/index.js +++ b/src/containers/dashboard/index.js @@ -1,5 +1,6 @@ import React, { Component } from 'react'; import { connect } from 'react-redux'; +import { withRouter } from 'react-router-dom'; import { incrementDummyValue } from '../../actions/Dummy'; import './assets/dashboard.css'; @@ -26,4 +27,4 @@ const mapStateToProps = state => ({ dummyValue: state.dummy.dummyValue }); -export default connect(mapStateToProps, { incrementDummyValue })(VisibleDashboard); +export default withRouter(connect(mapStateToProps, { incrementDummyValue })(VisibleDashboard)); diff --git a/src/index.js b/src/index.js index 029dd24..105696c 100644 --- a/src/index.js +++ b/src/index.js @@ -1,7 +1,7 @@ - import React from 'react'; import { render } from 'react-dom'; import { Provider } from 'react-redux'; +import { BrowserRouter as Router } from 'react-router-dom'; import store from './store'; import './index.css'; import App from './containers/app'; @@ -9,7 +9,9 @@ import registerServiceWorker from './registerServiceWorker'; render( - + + + , document.getElementById('root') ); diff --git a/yarn.lock b/yarn.lock index dc11202..12cb5f4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3110,6 +3110,16 @@ he@1.1.x: version "1.1.1" resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" +history@^4.7.2: + version "4.7.2" + resolved "https://registry.yarnpkg.com/history/-/history-4.7.2.tgz#22b5c7f31633c5b8021c7f4a8a954ac139ee8d5b" + dependencies: + invariant "^2.2.1" + loose-envify "^1.2.0" + resolve-pathname "^2.2.0" + value-equal "^0.4.0" + warning "^3.0.0" + hmac-drbg@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" @@ -3360,7 +3370,7 @@ interpret@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614" -invariant@^2.0.0, invariant@^2.2.2: +invariant@^2.0.0, invariant@^2.2.1, invariant@^2.2.2, invariant@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" dependencies: @@ -4256,7 +4266,7 @@ longest@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1: +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" dependencies: @@ -4971,7 +4981,7 @@ path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" -path-to-regexp@^1.0.1: +path-to-regexp@^1.0.1, path-to-regexp@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d" dependencies: @@ -5392,7 +5402,7 @@ promise@^7.1.1: dependencies: asap "~2.0.3" -prop-types@^15.5.10, prop-types@^15.6.0: +prop-types@^15.5.10, prop-types@^15.6.0, prop-types@^15.6.1: version "15.6.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.2.tgz#05d5ca77b4453e985d60fc7ff8c859094a497102" dependencies: @@ -5567,6 +5577,29 @@ react-redux@^5.0.7: loose-envify "^1.1.0" prop-types "^15.6.0" +react-router-dom@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-4.3.1.tgz#4c2619fc24c4fa87c9fd18f4fb4a43fe63fbd5c6" + dependencies: + history "^4.7.2" + invariant "^2.2.4" + loose-envify "^1.3.1" + prop-types "^15.6.1" + react-router "^4.3.1" + warning "^4.0.1" + +react-router@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-4.3.1.tgz#aada4aef14c809cb2e686b05cee4742234506c4e" + dependencies: + history "^4.7.2" + hoist-non-react-statics "^2.5.0" + invariant "^2.2.4" + loose-envify "^1.3.1" + path-to-regexp "^1.7.0" + prop-types "^15.6.1" + warning "^4.0.1" + react-scripts@1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-1.1.4.tgz#d5c230e707918d6dd2d06f303b10f5222d017c88" @@ -5888,6 +5921,10 @@ resolve-from@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" +resolve-pathname@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.2.0.tgz#7e9ae21ed815fd63ab189adeee64dc831eefa879" + resolve-url@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" @@ -6841,6 +6878,10 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" +value-equal@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-0.4.0.tgz#c5bdd2f54ee093c04839d71ce2e4758a6890abc7" + vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" @@ -6869,6 +6910,18 @@ walker@~1.0.5: dependencies: makeerror "1.0.x" +warning@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz#32e5377cb572de4ab04753bdf8821c01ed605b7c" + dependencies: + loose-envify "^1.0.0" + +warning@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.1.tgz#66ce376b7fbfe8a887c22bdf0e7349d73d397745" + dependencies: + loose-envify "^1.0.0" + watch@~0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/watch/-/watch-0.10.0.tgz#77798b2da0f9910d595f1ace5b0c2258521f21dc"