react使用mobx前一页传值浏览器打开新窗口传值消失
在React中,当我们使用Mobx进行状态管理时,可以通过创建一个共享的store来存储和传递数据。如果你在前一页传递的值在新窗口中消失了,可能是因为在新窗口中重新加载了应用,导致store被重置。
为了解决这个问题,你可以考虑使用持久化存储来保存数据,或者使用React的路由来传递数据。下面是两种解决方案的示例:
- 使用localStorage进行持久化存储: 在前一页传递的值时,将其存储在localStorage中。在新窗口打开时,检查localStorage中是否有存储的值,并将其重新加载到store中。
// 前一页
localStorage.setItem('myValue', value);
// 新窗口
const myValue = localStorage.getItem('myValue');
store.setValue(myValue);
- 使用React的路由传递数据: 在前一页传递的值时,将其作为URL参数传递给新窗口的路由。在新窗口中,通过获取URL参数来获取传递的值,并将其加载到store中。
// 前一页
import { Link } from 'react-router-dom';
<Link to={`/new-page?value=${value}`}>打开新窗口</Link>
// 新窗口
import { useLocation } from 'react-router-dom';
const location = useLocation();
const searchParams = new URLSearchParams(location.search);
const myValue = searchParams.get('value');
store.setValue(myValue);
通过使用上述方法,你应该能够在新窗口中正确地传递和加载值。请根据你的具体情况选择适合你的解决方案
原文地址: http://www.cveoy.top/t/topic/iXwv 著作权归作者所有。请勿转载和采集!