1

在我的反应应用程序中,我已根据单击的页面名称将相应的页面名称存储在本地存储中,即对于一条路线说,每当我单击 Products 页面时,http://localhost:3000/Products已将名称Products存储在本地存储中。

我希望每当我刷新页面时/,我的页面不会被重定向到主页,而是通过确认我的本地存储中的值保留在我所在的页面上。

我的方法行不通。

<NavLink to="/localStorage.getItem("selectedItem")" style={{ textDecoration: "none" }}>
   <MenuItemComponent
       title="Products"
       icon={IconProducts}
       onClick={() => this.onItemClicked("Products")}
       active={localStorage.getItem("selectedItem") === "Products"}
    />
</NavLink>

从上面的代码中,我希望页面引导我,http://localhost:3000/Products因为localStorage.getItem("selectedItem")的值是Products

4

1 回答 1

2

您需要从 LocalStorage 获取价值,但您使用的是纯字符串。应该是这样的:

const AppNaVLink = () => {
    const link = `/${localStorage.getItem("selectedItem") ?? ''}`
    return (
        <NavLink to={link} style={{ textDecoration: "none" }}>
            <MenuItemComponent
                title="Products"
                icon={IconProducts}
                onClick={() => this.onItemClicked("Products")}
                active={localStorage.getItem("selectedItem") === "Products"}
            />
        </NavLink>)
}
于 2020-07-29T05:28:46.640 回答