Laravel惯性反应保存状态不工作



我试图重新加载我的页面,但保持过滤器状态与惯性

:

const [allProducts, setAllProducts] = useState([]);

const [filters, setFilters] = useState([]);
const fetchProducts = (page) => {
Inertia.get(
`/products?page=${page}`,
{ filters },
{
preserveState: true,
preserveScroll: true,
only: ['products'],
onSuccess: (response) => {
setAllProducts(allProducts.concat(response.props.products.data));
page += 1;
}
}
)
});

问题是filtersallProducts被重置,即使preserveState = true

你说的" reload my page "是什么意思?React中的State不保留在"real"页面刷新。

也许你可以将数据保存在本地存储,然后通过useEffect加载它。另一个解决方案是将你想要保存在页面之间的数据存储在Laravel会话存储中。

最新更新