如果有錯誤,歡迎留言指教~ Q_Q
如果你要成功更新畫面,你必須經過兩個步驟:
因此,要優化效能的話你有兩個方向,那就是:
class Content extends React.Component {
shouldComponentUpdate(){
return false;
}
render () {
return <div>{this.props.text}</div>
}
}
但通常判斷方式還是會以:如果每一個 props 跟 state 都沒有變,那就回傳 false
class Content extends React.Component {
shouldComponentUpdate(nextProps, nextState){
return !shallowEqual(this.props, nextProps) || !shallowEqual(this.state, nextState);
}
// 用 shallow equal 檢查
// (只要比較一層) props 和 state 有無改變
// 有改變才 update component
// 這就是 *pure render 優化*
render () {
return <div>{this.props.text}</div>
}
}