From d2c56d19d0d722bdf81c24f557befee8bbba4853 Mon Sep 17 00:00:00 2001 From: Keven van Zuijlen Date: Tue, 28 Mar 2017 14:21:25 +0200 Subject: [PATCH] Implemented react-router-dom v4 --- templates/ReactSpa/ClientApp/boot.tsx | 4 ++-- templates/ReactSpa/ClientApp/components/Layout.tsx | 4 ++-- .../ReactSpa/ClientApp/components/NavMenu.tsx | 14 +++++++------- templates/ReactSpa/ClientApp/routes.tsx | 12 ++++++------ 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/templates/ReactSpa/ClientApp/boot.tsx b/templates/ReactSpa/ClientApp/boot.tsx index 5bc2ec2..e1cd9f9 100644 --- a/templates/ReactSpa/ClientApp/boot.tsx +++ b/templates/ReactSpa/ClientApp/boot.tsx @@ -2,12 +2,12 @@ import './css/site.css'; import 'bootstrap'; import * as React from 'react'; import * as ReactDOM from 'react-dom'; -import { browserHistory, Router } from 'react-router'; +import { BrowserRouter as Router } from 'react-router-dom'; import routes from './routes'; // This code starts up the React app when it runs in a browser. It sets up the routing configuration // and injects the app into a DOM element. ReactDOM.render( - , + , document.getElementById('react-app') ); diff --git a/templates/ReactSpa/ClientApp/components/Layout.tsx b/templates/ReactSpa/ClientApp/components/Layout.tsx index b87c731..8c8870e 100644 --- a/templates/ReactSpa/ClientApp/components/Layout.tsx +++ b/templates/ReactSpa/ClientApp/components/Layout.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import { NavMenu } from './NavMenu'; export interface LayoutProps { - body: React.ReactElement; + children?: React.ReactNode; } export class Layout extends React.Component { @@ -13,7 +13,7 @@ export class Layout extends React.Component {
- { this.props.body } + { this.props.children }
; diff --git a/templates/ReactSpa/ClientApp/components/NavMenu.tsx b/templates/ReactSpa/ClientApp/components/NavMenu.tsx index feef09d..5547ab4 100644 --- a/templates/ReactSpa/ClientApp/components/NavMenu.tsx +++ b/templates/ReactSpa/ClientApp/components/NavMenu.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import { Link } from 'react-router'; +import { Link, NavLink } from 'react-router-dom'; export class NavMenu extends React.Component<{}, {}> { public render() { @@ -18,19 +18,19 @@ export class NavMenu extends React.Component<{}, {}> {
  • - + Home - +
  • - + Counter - +
  • - + Fetch data - +
diff --git a/templates/ReactSpa/ClientApp/routes.tsx b/templates/ReactSpa/ClientApp/routes.tsx index 5a3dafb..dfacf05 100644 --- a/templates/ReactSpa/ClientApp/routes.tsx +++ b/templates/ReactSpa/ClientApp/routes.tsx @@ -1,15 +1,15 @@ import * as React from 'react'; -import { Router, Route, HistoryBase } from 'react-router'; +import { Route } from 'react-router-dom'; import { Layout } from './components/Layout'; import { Home } from './components/Home'; import { FetchData } from './components/FetchData'; import { Counter } from './components/Counter'; -export default - - - -; +export default + + + +; // Allow Hot Module Reloading declare var module: any;