2017-02-23 51 views
1

例如有兩個組件在不同狀態名爲/一個/BSPA當路徑改變復位存儲值到默認

所有數據被設置在存儲數據。

如:

a.store.js

a:{ 
    data:1 
} 

setData(data){ 
    this.a.data = data; 
} 

如果更改A組件a.store.js數據也將被改變的數據。

handleClickA:function(){ 
    AStore.setData(2) // change data of store to 2 
} 

當總分組件並輸入並重新輸入數據是代替;

我試過unmont生命週期它可以工作,如果設置a.data爲1;

但如果a是一個大對象,我不得不重寫很多代碼來重置。

如果您有什麼好的想法,請告訴我如何解決這個問題。\

感謝

回答

2

你用什麼代碼進行復位?它應該很簡單。

// A store 
const initialState = { 
    // your large object 
}; 

A = { 
    state: initialState, 
    reset: function() { 
    this.state = initialState; 
    }, 
    setData: function(data) { 
    // your implementation 
    } 
}; 

// Then you just 
componentWillUnmount: function() { 
    A.reset(); 
} 
+0

謝謝,好主意 – mqliutie

+0

但初始化狀態可以修改,它不是一個常量數據 – mqliutie

+0

這意味着initialState.b = 2;它是正確的。我希望它會拋出一個錯誤 – mqliutie