相关疑难解决方法(0)

使用react-router检测路由更改

我必须根据浏览历史实现一些业务逻辑.

我想做的是这样的:

reactRouter.onUrlChange(url => {
   this.history.push(url);
});
Run Code Online (Sandbox Code Playgroud)

当URL更新时,有没有办法从react-router接收回调?

reactjs react-router react-router-redux react-router-v4 react-router-dom

49
推荐指数
5
解决办法
5万
查看次数

React-router-dom useHistory() 不起作用

useHistory ()挂钩在我的项目中不起作用。我把它放在不同的组件中,但它们都不起作用。我正在使用“react-router-dom”:“^5.2.0”,

import {useHistory} from 'react-router-dom'

const history = useHistory()

const logout = () => {    
   toggleMenu()
   setUser(null)
   dispatch({type: 'LOGOUT'})
   history.push('/')
}
Run Code Online (Sandbox Code Playgroud)

而且在行动中它也不起作用

export const signin = (formdata, history, setError) => async (dispatch) => {
try {
    const {data} = await API.signIn(formdata)
    if(data.error){
        setError(data.message)
    }else{
        dispatch({type: SIGNIN, data})
        history.push('/dashboard')
    }

   } catch (error) {
    setError(error)
    console.log(error)
  }
}
Run Code Online (Sandbox Code Playgroud)

这是我的 router.js 文件

const Router = () => {
    const user = JSON.parse(localStorage.getItem('profile'))
    return (
       <BrowserRouter>
                <>
                    {user && <Navigation/>}
                    <Switch> …
Run Code Online (Sandbox Code Playgroud)

reactjs redux-thunk react-router-dom

7
推荐指数
4
解决办法
4万
查看次数