Giter Club home page Giter Club logo

Comments (5)

gkamesh98 avatar gkamesh98 commented on July 21, 2024 1

Hi @pierroberto ,
As react-router routing api is updated. So, we need to get the package update. Or we will have to move to alternative package. But redux actions are also update as a part of it. If you are thinking of update. If you thinking fresh update. You can go for the complete different package for integrating redux and router-router. One of it could be "redux-first-history"

from connected-react-router.

gkamesh98 avatar gkamesh98 commented on July 21, 2024

I think currently they don't provide support in near future. If you still want to use it with react-router@v6. You can make small tweak as follows.
Instead of using the
ConnectedRouter
You can make following default react-router Router component and make changes as follows

import React, { useLayoutEffect, useRef, useState } from 'react'
import { Route, Router, Routes } from 'react-router-dom'

import { createBrowserHistory } from 'history'
import { useDispatch } from 'react-redux'
import { onLocationChanged } from 'connected-react-router'

const history = createBrowserHistory()

export default ({ children }) => {
  const isFirstRender = useRef(true)
  const dispatch = useDispatch()
  const [historyState, setHistoryState] = useState({
    action: history.action,
    location: history.location,
  })

  useLayoutEffect(() => {
    return history.listen(setHistoryState)
  }, [])

  useLayoutEffect(() => {
    if (isFirstRender.current) {
      dispatch(onLocationChanged(history.location, history.action, true))
      isFirstRender.current = false
    }
    return history.listen((arg) => {
      dispatch(onLocationChanged(arg.location, arg.action, false))
    })
  }, [dispatch])

  return (
    <Router
      // ...rest of props required
      location={historyState.location}
      action={historyState.action}
      navigator={history}
    >
      {/* here it lies <Routes> <Route> ..... */}
      {children}
    </Router>
  )
}

Rest of it is same as before.
I hope it is helpful. Thank you.

from connected-react-router.

silvanoamaral avatar silvanoamaral commented on July 21, 2024

Hi @gkamesh98 Thank you for your help.

But, I tried to execute the suggestion and presented the error below.

ERROR in ./node_modules/connected-react-router/esm/ConnectedRouter.js 113:0-38 Module not found: Error: Can't resolve 'react-router'

from connected-react-router.

pierroberto avatar pierroberto commented on July 21, 2024

Is there any other alternative?

from connected-react-router.

gkamesh98 avatar gkamesh98 commented on July 21, 2024

Hi @silvanoamaral ,
Can you check is react-router package is installed because connected-react-router has react-router as peerDependency.

Basically if you have react-router-dom it will install react-router as well if you check in package-lock.json or yarn.lock.

from connected-react-router.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.