react setState 能否指定更新单独某个地方的state

比如页面里面如果有多个地方或多个dom的属性 设置了state里面同一个值, 但我现在由于功能考虑,不想在某次setState更新所有地方的state的这个值,只想在指定的某些地方更新这个值,这种方式能不能实现,能实现的帮忙给出代码?

阅读 6.2k
6 个回答

最好还是用不同的state来做区分,不然要做很多判断,逻辑更复杂,成本更高

setState就是只更新你指定的state,与其他无关呀。比如:
this.setState({item: {}})就是只更新item的值,与其他属性都不会变化。

这样做?
‘data2 || data’(或者undefined判断什么的)
data2初始不给值?需要单独设置的时候设置data2,需要统一的时候在置空,或者更进一步

= getData2() || data`
getData2 () {
    if (data2.flag = false) {
        return undefined
    } else {
        return data2.value
    }
}
// 通过修改flag,确定是单独出值还是使用公用值

同一个state属性,多处公用一个属性,setState的时候只改一个地方的,react也没办法区分你要改的是什么地方的呀? 不同状态用不同的值来表示吧

用不同的state软件不行,不用的话在每个地方又要加很多判断,那你写个中间过滤?类似于flux那种结构思想?

问题很矛盾。为什么不用多个state呢?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题