hash 就是指 url 尾巴后的 # 号以及后面的字符,本身是用来做页面定位的,若做路由的话,原来的锚点功能就不能用了。其次,hash 的传参是基于 url 的,如需传递复杂的数据,会有体积的限制,而 history 模式不仅可以在url里放参数,还可以将数据存放在一个特定的对象中。
所以hash路由一般配套使用:
传送:
router.push({
pathname: '/BrainJuvenileAssessment/AllTestDetails',
query: {
taskDetail: taskDetail,
},
});
接收:
//接受路由参数
const {
taskDetail: { taskTestRecordList },
} = this.props.location.query;
传送:
router.push({
pathname: 'report',
state: {
reportId: report.id,
},
});
接收:
//接受路由参数
const {
reportId
} = this.props.location.state;
网友评论