Problems in the implementation of Synchronize in vue

In

vue, there is the following code, where arr is placed in vuex,

arr={"costPrice":"","jdPrice":"","sellerSkuId":"","skuId":null,"skuName":"Dyy-test-451331  ","stock":"","netWeight":"","packHeight":"","packLong":"","packWide":"","piece":0,"textAttrValueAlias":"BLACK","textAttrValueId":2258240,"upc":"","stockVOs":[{"dcId":"","dcName":"","storeId":"","storeName":""},{"dcId":"","dcName":"","storeId":"","storeName":""},{"dcId":"","dcName":"","storeId":"","storeName":""},{"dcId":"","dcName":"","storeId":"","storeName":""},{"dcId":"","dcName":"","storeId":"","storeName":""}],"textShowFlag":true}

then, change arr

console.log(arr)
console.log(JSON.stringify(arr))
console.log(arr.textShowFlag)
Vue.set(this.skuListGroupVOs[rowNumber].childList[columnNumber], "textShowFlag", !arr.textShowFlag)

Why are there JSON.stringify inconsistencies?
clipboard.png

Mar.10,2021

for performance, browsers only save references to objects during console.log, so console.log output is not the current value
is probably the object value
after asynchronism, but JSON.stringify turns this into a string, and there is no string change, that's all


textShowFlag is the original false
when printing, the textShowFlag in arr is also false, but then you perform the reverse operation, the textShowFlag in arr becomes true
Note, at this time you look at true, because the print is a reference, and after clicking on it is the final value of inversion
you can debugger to have a look, at this time the textShowFlag that arr clicks on is false.

console.log(arr)
console.log(JSON.stringify(arr))
console.log(arr.textShowFlag)
debugger
Vue.set(this.skuListGroupVOs[rowNumber].childList[columnNumber], 'textShowFlag', !arr.textShowFlag)
Menu