有没有办法以编程方式将一个键的值设置为另一个键?例如:
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
我实际得到的是state.city.namespace密钥的值:
namespace: 'DIskieisSi98s8sjw'.
提前感谢您的帮助!
编辑--添加其他上下文
@mem035我可能应该添加这个上下文。我正在尝试创建一个函数,它将使我不必键入Redux的mapStateToProps。对于上面的示例,下面是地图:
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
};
};
当该值变成字符串时,没有一个属性是映射/工作的。
https://stackoverflow.com/questions/52826819
复制相似问题