最近我碰到一个项目,采用的就是直接修改state的方案

来源:8-3 再次回顾不可变值

柠檬树想长高

2021-03-28

老师,最近我碰到一个react项目,会在代码里面直接修改state,不过修改完后会写一个this.setState({}),不但能够正常使用,没有任何异常,而且还顺带解决了setState修改state异步的问题,请问这是为什么。

refreshImage = (uploadImgUrl, ocrResult) => {
    const imageUrl = uploadImgUrl
    switch (type) {
        case 'ID_FRONT_PHOTO':
            this.state.idCardFront = uploadImgUrl
            this.state.name = ocrResult.words
            this.state.idNo = ocrResult.no
            break;
    }
    this.setState({})
}

甚至很多代码里面直接不用state,自己声明一个data管理页面数据,this.setState({}) 只作为更新页面触发点

写回答

1回答

双越

2021-03-29

你可以使用 SCU 或者 PureComponent 再试试,看看会不会出问题?

1
0

2024版 前端框架及项目面试 聚焦Vue3/React/Webpack

面向1-3年前端的框架及项目面试“刚需内容”

4665 学习 · 1644 问题

查看课程