javascript – React路由器,用Link传递道具

前端之家收集整理的这篇文章主要介绍了javascript – React路由器,用Link传递道具前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我使用React Router导航到我的应用程序中的页面,如下所示:

这工作正常,但我还想将其他属性传递给新页面.

在不使用Link的情况下渲染组件时,我会执行以下操作:

我试过像这样在params中传递myProp = {this.props.data}:

但它似乎不起作用,因为myProp在新页面上未定义,与pageId相反,我可以得到:

this.props.params.pageId;

我不应该能够通过Link传递非路由相关参数吗?

最佳答案
链接documentation和源代码中,没有提到它采​​取参数.但是我得到了你想要做的事情.

我建议使用react-router的历史记录功能router.push(),而不是硬编码路由.做这样的事情:

class Foo extends React.Component {
  ...
  const handleNewRoute = () => {
     let { pageId } = this.props.data
     let singleId = '1'
     this.context.router.push({    // use push
       pathname: `/single/${pageId}`,query: { singleId }
     })
  }

  render() {
     return (
         

顺便说一下,在React / JSX中,像…… {{singleId:1,myProp = {this.props.data}}} ……应该是< Link ... foobar = {{singleId:1,myProp:this.props.data}}>.前一种语法错了.

猜你在找的JavaScript相关文章