From 969bd9c8d5b8c088ad847e0a09b0af7a931c67e0 Mon Sep 17 00:00:00 2001 From: xidedix Date: Wed, 20 Jun 2018 20:58:04 +0200 Subject: [PATCH] refactor(Breadcrumb): fix for dynamic url like /path/:id --- package.json | 4 ++-- src/Breadcrumb.js | 9 +++------ 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index deac1805..c260e2ea 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@coreui/react", - "version": "2.0.3", + "version": "2.0.4", "description": "CoreUI React Bootstrap 4 components", "license": "MIT", "author": { @@ -38,7 +38,7 @@ "@coreui/icons": "0.2.0", "classnames": "^2.2.6", "core-js": "^2.5.7", - "prop-types": "^15.6.1", + "prop-types": "^15.6.2", "react-perfect-scrollbar": "^1.1.1", "react-router-dom": "^4.3.1", "reactstrap": "^6.1.0" diff --git a/src/Breadcrumb.js b/src/Breadcrumb.js index cacf94e3..0d175491 100644 --- a/src/Breadcrumb.js +++ b/src/Breadcrumb.js @@ -1,5 +1,5 @@ import React, { Component } from 'react'; -import { Route, Link } from 'react-router-dom'; +import { Route, Link, matchPath } from 'react-router-dom'; import { Breadcrumb, BreadcrumbItem } from 'reactstrap'; import PropTypes from 'prop-types'; import classNames from 'classnames'; @@ -20,11 +20,8 @@ const getPaths = (pathname) => { }; const findRouteName = (url) => { - const aroute = routes.find(route => route.path === url); - if (aroute && aroute.name) { - return aroute.name; - } - return null; + const aroute = routes.find(route => matchPath(url, {path: route.path, exact: route.exact})); + return (aroute && aroute.name) ? aroute.name : null }; const BreadcrumbsItem = ({ match }) => {