2016-09-19 9 views
0

Что делать, если у меня очень распространенная ситуация.Методы модели Redux

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

Я хочу иметь getFullName, метод, что такое правильный способ сделать это в Redux, все мы знаем, что это возможно, чтобы сделать его разметки. У меня очень сложные структуры данных, и это не так просто сделать в разметке

+0

вы пробовали '_.get()' в lodash? и затем получите 'var getFullName = function (data) {return _.get (data, 'firstName', '') + '' + _. get (data, 'lastName', '')}'. Если ключ un ваш объект существует, используйте его. – JorgeObregon

ответ

1

В JavaScript нет необходимости связывать данные и методы, которые действуют на эти данные. Redux сохраняет неизменяемый объект состояния без методов. Вам просто нужно найти другое место, чтобы поместить эти методы. В этом случае я бы создал utils/people.js, который раскрывает все методы, которые необходимы для работы с людьми. Затем вы можете передать состояние от redux к этому методу и получить все, что вам нужно.

Предполагая, что ваше состояние в Redux выглядит что-то вроде:

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

Вы можете utils/people.js:

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

Да, я бы сказал, это хорошее решение, thx –