Javascript 使用不可变的shouldComponentUpdate响应路由器重新提交
当我切换到另一个路由,然后返回到我的组件时,我在重新查找组件时遇到问题。 我使用的是React 0.14.3、React router 1.0.2和Immutable.js 原因是,我比较了Javascript 使用不可变的shouldComponentUpdate响应路由器重新提交,javascript,reactjs,immutability,react-router,Javascript,Reactjs,Immutability,React Router,当我切换到另一个路由,然后返回到我的组件时,我在重新查找组件时遇到问题。 我使用的是React 0.14.3、React router 1.0.2和Immutable.js 原因是,我比较了shouldComponentUpdate方法中的道具 shouldComponentUpdate(nextProps, nextState) { return !Immutable.is(nextProps.articles, this.props.articles); } 如果我改变路线并返回,
shouldComponentUpdate
方法中的道具
shouldComponentUpdate(nextProps, nextState) {
return !Immutable.is(nextProps.articles, this.props.articles);
}
如果我改变路线并返回,props.articles
不会改变,但我需要重新阅读页面
问题是,在我的<代码> BooDeCuffTebug Up/<代码>方法中,我需要考虑什么,跟踪,如果路由刚刚更改?< /P>
提前谢谢!
Rico你没试过吗?我怀疑您不需要关心这一点,因为当您更改路由时,您的组件将被重新安装。我的组件正在显示一个数据表。这些数据来自API,并存储在“文章”中。通向该组件的路径是/articles。当我切换路由/然后切换回/articles时,组件不会更新,因为项目与以前相同。如果我注释掉我的shouldComponentUpdate,它就可以工作了。TL;DR-我试过了,但没用。好吧,当你回到/文章时,你的shouldComponentUpdate甚至不应该被调用。因为它不是更新,而是装载,所以调用componentDidMount。例如,这里有一些人试图解决相反的问题——换句话说,您试图实现的是react路由器的默认行为。