Я получаю доступ к объекту, используя bracket notation
в JavaScript.По какой-то причине он помещает значение в кавычки ... НЕ то, что я хочу.
console.log(positions)
{
element: null,
elementTwo: null,
elementThree: null,
"elementThree": 1
}
Некоторая дополнительная информация
У меня есть следующее состояние в моем reducer
в избыточном ...
const initialState = {
positions: {
element: null,
elementTwo: null,
elementThree: null
}
};
Я должен быть в состоянии манипулировать им достаточно легко
case SET_POSITION:
console.log(action.payload.element) //elementTwo
return {
...state,
positions: {
...state.positions,
[action.payload.element]: action.payload.position
}
};
Если I console.log(action.paylod.element)
и console.log('elementThree')
, они идентичны.
И, если я получаю доступ, используя следующее, это работает:
case SET_POSITION:
console.log(action.payload.element) //elementTwo
return {
...state,
positions: {
...state.positions,
['elementThree']: action.payload.position
}
};
Что здесь происходит?