如何解决router5以编程方式导航到浏览器历史记录
我在我的React应用程序中使用router5。当我使用链接(router5组件)在页面之间导航时,这是正确的。但是当我以编程方式导航到我的路线时,浏览器不记得之前的状态。
import React,{useState} from "react";
import './StickerItem.css'
const StickerItem = ({id,name,props}) =>{
let [select,setSelect] = useState(false);
function toggleSelect() {
props.stickerToggleSelectAC(id);
select ? setSelect(false) : setSelect(true);
}
function routeSticker() {
/* this code don't save transition from route to route */
props.router.navigate('stickers',{id: id},{replace: true});
}
return <div onClick={toggleSelect}
onDoubleClick={routeSticker}
className={"link_sticker" + " " + (select? "active" : "")}
key={id}> {name} </div>
/* this code works correct and i can navigate from page /stickers/18 to /stickers/40 and forward in my browser*/
// return <Link routeName="stickers"
// routeParams={{id}}
// activeClassName="active_link_sticker"
// className={"link_sticker" + " " + (select? "active" : "")}
// key={id}> {name} </Link>
};
export default StickerItem;
解决方法
我只是从中删除{replace:true}
props.router.navigate('stickers',{id: id},{replace: true});
现在对我有用。有时我们只需要写我们的问题))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。