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",
});