使用 react-router-dom 导航

Navigation with react-router-dom

react-router-dom 中有一个选项可以在 url 中的页面之间发送数据 例如 myBurger/?bacon=2&salad=3

我的问题是是否有一种服务可以从对象中生成(培根、沙拉)数据字符串... 例如

var ingredients = {
  salad: 3,
  bacon: 2
}

myCustomServiceConverter.FromObjectToString(ingredients);
// return ?bacon=2&salad=3

并且在下一页中将是对其进行解码的功能

var URL = http://localhost:3000/myBurger/?bacon=2&salad=3
myCustomServiceConverter.FromStringToObject(URL);
// return { salad: 3, bacon: 2 }

请不要推荐那些link

我已经为这种操作做了一个小插件,也许你可以试一试here

是的,您可以使用名为 qs

的库来完成

您可以在此处找到文档

https://www.npmjs.com/package/qs

let url = qs.stringify({salad: 3,
  bacon: 2
})

然后取回对象

使用另一个名为 query-string

的库

https://www.npmjs.com/package/query-string

 let url = this.props.history.location.state.query;
 let object = queryString.parse(url, {arrayFormat: 'index'})