react-router-dom4.x 如何传递多个参数

通过params传递参数,但是只能传递一个参数吗?

//路由配置
<Route path="/Article/:id" component={Article} />
//调用方法
this.props.history.push(`/Article/${id}`)

这种方法只能传递一个参数吗? 。。。如果传递多个参数应该怎么写?

我看通过query和state方法传递参数是可以传递多个,但是当页面刷新的时候,会丢失参数,这似乎不可取

阅读 6.7k
3 个回答
//路由配置
<Route path="/Article/:id/:id2/:id3/:id4" component={Article} />
//调用方法
this.props.history.push(`/Article/${id}/${id2}/${id3}/${id4}`)

或者你的id传一个json string;获取参数时解析json就行了

query可以传递多个参数,类似于表单的get请求,参数是明文显示的
state也可以传递多个参数,类似于表单的post请求,参数不会显示在地址栏里面

为什么query和state在页面刷新的时候会丢失参数

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题