2016-09-19 47 views
0

如果我有非常普遍的情況怎麼辦?Redux模型metods

users:[ 
    { 
    firstName:'Jack', 
    lastName:'Daniels' 
    } 
] 

我想有getFullName,方法是什麼做的,在終極版中,我們都知道,它可能使標記取之有道。我有非常複雜的數據結構,並不容易使它成爲標記

+0

你試過'_.get();'在lodash?然後有'var getFullName = function(data){return _.get(data,'firstName','')+''+ _。get(data,'lastName','')}'。如果你的對象的鑰匙存在,使用它。 – JorgeObregon

回答

1

在JavaScript中,不需要耦合數據和作用於該數據的方法。 Redux存儲不帶方法的不可變狀態對象。你只需要找到其他地方來放置這些方法。在這種情況下,我會創建一個utils/people.js,它公開了所有工作人員所需的方法。然後,您可以將狀態從redux傳遞到該方法並獲得所需的一切。

假設你在終極版狀態看起來類似:

{ firstName: 'John', lastName: 'Smith' } 

您可以utils/people.js

exports getFullName(state) { 
    return `#{state.firstName} #{state.lastName}`; 
} 
+0

是的,我會說這是很好的解決方案,thx –

相關問題