Есть ли способ программно установить значение ключа для другого ключа?например,
export function getObjectForMapStateToProps(state, reducer) {
let stateObject = {};
for (let key in state[reducer]) {
if (state[reducer].hasOwnProperty(key)) {
stateObject[key] = state[reducer][key];
}
}
return stateObject;
}
Цель состоит в том, чтобы вернуть объект, в котором каждая пара ключ-значение выглядит так:
namespace: state.city.namespace
Что я на самом деле получаю, так этоЗНАЧЕНИЕ ключа space.city.namespace:
namespace: 'DIskieisSi98s8sjw'.
Заранее благодарим за помощь!
РЕДАКТИРОВАТЬ - ДОБАВИТЬ ДОПОЛНИТЕЛЬНЫЙ КОНТЕКСТ
@ mem035 Я, наверное, должен был добавить этот контекст.Я пытаюсь создать функцию, которая позволит мне перестать печатать mapStateToProps для Redux.Для приведенного выше примера вот карта:
const mapStateToProps = state => {
console.log(getObjectForMapStateToProps(state, 'city'));
return {
namespace: state.city.namespace,
componentId: state.city.componentId,
items: state.city.items,
defaultValue: state.city.defaultValue,
selectItem: state.city.selectItem,
allowAdd: state.city.allowAdd,
validationRegEx: state.city.validationRegEx,
regExDescription: state.city.regExDescription,
hasForeignKey: state.city.hasForeignKey,
foreignKeyModel: state.city.foreignKeyModel,
foreignKeyValue: state.city.foreignKeyValue,
errorMessages: state.city.errorMessages,
isError: state.city.isError,
isLoading: state.city.isLoading,
apiRoute: state.city.apiRoute
};
};
Когда значение становится строкой, ни одно из свойств не отображается / не работает.