React-Router的Link-To更新URL但不刷新页面

时间:2015-11-12 18:22:17

标签: reactjs react-router

我网站的标题有10个类别图片(链接)。每个都使用React-Router的链接来路由到每个类别的各个类别显示。

链接可以从 categoryIndex 开始工作,但是当从 cagetoryShow 中点击时,它不再有效。它在点击它时会正确更新浏览器,例如它将pushState推送到/ cateories / 18和/ categories / 2,但浏览器不刷新。

值得注意的是链接适用于所有其他Index-type和Show-type页面。它根本不适用于 categoryShow 。我想知道是否连续点击相同的名称,例如 Link to =" categoryShow" ,以某种方式阻止路由器进行页面刷新?编辑:我尝试将其更改为链接到= {" / categories /" + this.props.id} 并且它做同样的事情。

这是值得注意的组件结构。通过更新URL,所有数据都被成功传递。只是在某个特定情况下页面不会刷新:

InventoryViewController

headerMenuCard:

-categoryShow
 -header (fetches and passes category data to child)
  -headerMenu (receives category data, passes on to child)
   -headerMenuCard (receives category data, uses the id in the link seen below)

这里是CategoryShow,链接路由到的地方:

var HeaderMenuCard = React.createClass({

...
    return(
        <div >
            <Link to="categoryShow" params={{id: this.props.id}} ></Link>
        </div>
    )
})

1 个答案:

答案 0 :(得分:2)

您将在道具中收到新参数,因此您只需在fetchDatacomponentWillReceiveProps中运行componentWillUpdate或任何其他逻辑。