为什么不直接用oldId和newId进行比对?

来源:9-2 品类列表页的开发

ywang04

2018-05-08

componentDidUpdate(prevProps, prevState){
        let oldPath = prevProps.location.pathname,
            newPath = this.props.location.pathname,
            newId   = this.props.match.params.categoryId || 0;
        if(oldPath !== newPath){
            this.setState({
                parentCategoryId : newId
            }, () => {
                this.loadCategoryList();
            });
        }
    }

这块的代码逻辑 老师是用oldPath和newPath进行对比 为什么不直接用oldId和newId进行对比呢?麻烦老师解答下, 谢谢!

componentDidUpdate(prevProps, prevState) {
    let oldId = prevProps.match.params.id
    let newId = this.props.match.params.id
    if (oldId !== newId) {
    this.setState({
        parentCategoryId: newId || 0
        }, () => { 
            this.loadCategoryList() 
        })
    }
}


写回答

1回答

Rosen

2018-05-10

是看看id有没有变化,没变化的话就不做处理了

0
0

React16+React-Router4 打造企业级电商后台管理系统

【毕设面试】让缺乏框架开发经验的你掌握框架开发

976 学习 · 405 问题

查看课程