//Vols 组件代码
class VolsContent extends Component{
componentDidMount(){
window.Perf = Perf;
}
shouldComponentUpdate(p, s){
return false;
}
render(){
return (
<div className="share">
<Link to="/vols/683">683</Link><br />
<Link to="/vols/678">678</Link><br />
<Link to="/">index</Link><br />
</div>
)
}
}
//路由器代码
//路由使用 react-router
<Route path="/">
<IndexRoute getComponent={index}/>
<Route path="vols">
<Route path=":id" getComponent={volsContent}/>
</Route>
</Router>
shouldComponentUpdate: return true
shouldComponentUpdate: return false
组件没有其他嵌套,但为什么我直接return false
还是会有垃圾渲染呢?
这种情况只会出现在同页面跳转发生,也就是
/vols/683 --> /vols/678
如果是不同页面间的跳转就不会出现这种情况
那这种情况是否无法避免?
求解
判断当前传入的数据和下一次传入的数据是否相等,数组和数组的比较、字符串和字符串的比较、对象和对象的比较,下面是字符串和字符串的比较。用try可以捕捉异常情况。