我有一個username屬性,已使用它從“登錄”路由傳遞到“產品列表”路由return <Redirect to={{ pathname: "/products", state: username }}/> 然后我有一個 <Link to={'/products/${product.id}'}>More info</Link>將我從“產品列表”發送到“單個產品”的方法。當我返回“產品列表”時<Link to={'/products'}>Back</Link>,用戶名消失了。有沒有辦法保留用戶名,以便當用戶登錄并在路線之間來回移動時,它會繼續被存儲?這是我希望存儲用戶名的“產品列表”路線的完整代碼:import React, {useState, useEffect} from 'react';import './Products.css';import {Link} from 'react-router-dom';function Products(props) { const [products, setProducts] = useState([]); useEffect(() => { const fetchProducts = async () => { const data = await fetch("https://example.com/products"); const products = await data.json(); console.log(products); setProducts(products); }; fetchProducts(); }, []); let username = props.location.state; return ( <div> <p className = "HelloUser">Hello, {username}</p> <p className = "ProductTitle">Our Selection</p> <div className = "ProductGrid"> {products.map(product =>( <div className = "ProductBox" key={product.id}> <img className ="ProductImage" src={product.image} alt="did not load"/> <p className ="ProductName">{product.name}</p> <p className ="ProductDiscountedPrice">{"£" + (Math.round(product.discountedPrice * 100) / 100).toFixed(2)}</p> <p className ="ProductPrice">{"£" + (Math.round(product.price * 100) / 100).toFixed(2)}</p> <Link to={`/products/${product.id}`} className="MoreInfoButton">More info</Link> </div> ))} </div> </div> )}export default Products;
離開并返回 ReactJS 頁面時保存道具
米琪卡哇伊
2023-08-18 14:02:00