import { useHistory } from 'react-router-dom';
const history = useHistory();
history.push({
pathname: '/details',
state: {
name: name,
id: id,
},
});
在history中使用state确实可以传参数,在进入页面时可以正常显示,但是在刷新页面后state里面的数据会清空,页面就无法正常显示。
import { useHistory } from 'react-router-dom';
const history = useHistory();
history.push({
pathname: '/details',
query: {
name: name,
id: id,
},
});
使用query是在跳转链接中增加参数,可以在实现传参的同时刷新页面后数据不会丢失,但是如果传的参数过多链接会很长。
import { useLocation } from 'react-router-dom';
const location = useLocation();
const name = location.query.name;
const id = location.query.id;
// 获取state参数的写法
const name = location.state.name;
const id = location.state.id;
这是在跳转页面获取参数的方式
(亲测有效,但是会有类型报错)