Пока я не могу использовать ES6/ES2015, и я застрял с ES5 для написания редукторов Redux. Поскольку параметр состояния редуктора должен быть неизменным, даже когда он undefined, я придумал следующий шаблон:
function myState( state, action ) {
if ( typeof state === 'undefined' ) {
return myState( { value1: 'foo', value2: 'bar' }, action );
}
// actual state calculation here
}
Любые альтернативные предложения или комментарии о том, как обеспечить значение по умолчанию с помощью ES5?
Изменить: После некоторых вопросов и предложений: причина, по которой я делаю рекурсивный вызов, заключается в том, что я очень серьезно отношусь к "состоянию неизменяемости". Поэтому даже когда параметр state
undefined
, я не изменяю сама переменная параметра. Я слишком долго держу неизменность?