в Route передали компонент Carts и он содержит props от Route. В компоненте Carts может быть любого уровня вложенность и чтоб не перетягивать props от Carts мы в нужном месте используем hoc withRouter, который оборачивает нужный нам дочерний компонент в props от Route
import {withRouter} from 'react-router-dom'
...
class child extends Component // function or class
...
export default withRouter(child) // withRouter is hoc