我有 2 个组件 User
和 UserInfo
,当我通过使用带有状态对象的连接反应路由器推送从 User
导航时,从 goBack()
返回 UserInfo
{1}} 不起作用。但是,只推送没有状态对象的路径名就可以正常工作。我认为问题在于状态是一个对象,在每次重新渲染时,react-router 将其视为新的入口堆栈并向堆栈添加一个新键。以下是组件:
import React from "react"
import { useDispatch } from "react-redux";
import { push } from "connected-react-router";
const User = () => {
const userObject = { id: 1 };
const dispatch = useDispatch();
// This doesn't allow going back from destination
const onClick = () => dispatch(push("/user_info",{ userId: userObject.id})
// This does
const onClick = () => dispatch(push("/user_info")
return (
<button onClick={onClick}> test </button>
)
}
import React from "react"
import { useDispatch } from "react-redux";
import { goBack } from "connected-react-router";
const UserInfo = () => {
const dispatch = useDispatch();
const onClick = () => dispatch(goBack())
return (
<button onClick={onClick}> test </button>
)
}