2016-09-19 53 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 –

相关问题