鍍金池/ 問答/HTML/ react setState 能否指定更新單獨某個地方的state

react setState 能否指定更新單獨某個地方的state

比如頁面里面如果有多個地方或多個dom的屬性 設(shè)置了state里面同一個值, 但我現(xiàn)在由于功能考慮,不想在某次setState更新所有地方的state的這個值,只想在指定的某些地方更新這個值,這種方式能不能實現(xiàn),能實現(xiàn)的幫忙給出代碼?

回答
編輯回答
使勁操

setState就是只更新你指定的state,與其他無關(guān)呀。比如:
this.setState({item: {}})就是只更新item的值,與其他屬性都不會變化。

2017年3月12日 01:42
編輯回答
扯機薄

同一個state屬性,多處公用一個屬性,setState的時候只改一個地方的,react也沒辦法區(qū)分你要改的是什么地方的呀? 不同狀態(tài)用不同的值來表示吧

2018年8月24日 19:25
編輯回答
生性

最好還是用不同的state來做區(qū)分,不然要做很多判斷,邏輯更復(fù)雜,成本更高

2017年8月21日 22:40
編輯回答
北城荒

用不同的state軟件不行,不用的話在每個地方又要加很多判斷,那你寫個中間過濾?類似于flux那種結(jié)構(gòu)思想?

2018年3月27日 11:31
編輯回答
近義詞

這樣做?
‘data2 || data’(或者undefined判斷什么的)
data2初始不給值?需要單獨設(shè)置的時候設(shè)置data2,需要統(tǒng)一的時候在置空,或者更進一步

= getData2() || data`
getData2 () {
    if (data2.flag = false) {
        return undefined
    } else {
        return data2.value
    }
}
// 通過修改flag,確定是單獨出值還是使用公用值
2018年7月31日 01:51
編輯回答
拽很帥

問題很矛盾。為什么不用多個state呢?

2017年11月6日 15:46