Reactjs 更改react路由器中的路径而不导致重新渲染?

Reactjs 更改react路由器中的路径而不导致重新渲染?,reactjs,react-router,Reactjs,React Router,我有以下路线: 此路由处理以下示例路径 /cases /cases/1 我在这条路线上有一个iframe,负责处理所有用户交互。在iframe中的位置更改时,iframe会向父窗口发布一条消息,通知其url已更改 我希望能够在父窗口中更改路由,而无需重新渲染iframe 这是我目前的解决方案 this.props.history.replace(pathnameFromIframe); shouldComponentUpdate = () => { return false;

我有以下路线:

此路由处理以下示例路径

/cases
/cases/1
我在这条路线上有一个iframe,负责处理所有用户交互。在iframe中的位置更改时,iframe会向父窗口发布一条消息,通知其url已更改

我希望能够在父窗口中更改路由,而无需重新渲染iframe

这是我目前的解决方案

this.props.history.replace(pathnameFromIframe);

shouldComponentUpdate = () => {
    return false;
}
此解决方案可行,但不符合以下要求:

应该更新组件。。。方法仅作为一种性能存在 优化。不要依赖它来“阻止”渲染,因为这可能会 导致错误

我能用别的方法解决这个问题吗


是否可以在不将管线作为道具添加到组件中的情况下更改管线?我相信这会解决问题。

我想你需要什么?如果我没弄错的话

import { hashHistory } from 'react-router';


hashHistory.push({
    pathname:"/url-url",

  });