【问题标题】:Navigation with react-router-dom使用 react-router-dom 导航
【发布时间】:2018-04-07 11:04:39
【问题描述】:

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

【问题讨论】:

  • 为什么要使用 url 参数传递数据?有更复杂的方法来处理数据。
  • 你是说redux?如果我不想使用 redux 并且我想保持简单,为什么不使用 url 参数.... @JimiPajala

标签: javascript reactjs react-router react-router-dom


【解决方案1】:

是的,您可以通过使用名为 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'})

【讨论】:

  • 完全是我想要的:)
【解决方案2】:

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

【讨论】:

  • 抱歉,您不支持嵌套对象和数组:/
猜你喜欢
  • 2022-06-22
  • 1970-01-01
  • 2020-07-09
  • 2018-11-09
  • 2023-01-30
  • 2017-08-22
  • 2018-01-27
  • 2017-09-21
  • 2022-12-17
相关资源
最近更新 更多