Tengo un código dentro de una función que se ve así:
const updatedItemsArr = [...this.state.targetItems, {relationship: value}]; Lo que quiero hacer es pasar un valor dinámico en lugar de una relationship . Sin embargo, todo lo que intento termina causando un error o es una sintaxis incorrecta.
Esto no funcionará:
const fieldType = 'relationship'; const updatedItemsArr = [...this.state.targetItems, {fieldType: value}];Tampoco esto:
const updatedItemsArr = [...this.state.targetItems, {`${fieldType}`: value}];¿Cómo puedo pasar un valor dinámico aquí?
En ES6, lo que puede hacer es poner la clave dinámica entre corchetes. Asi que
const updatedItemsArr = [...this.state.targetItems, {[fieldType]: value}];Deberia trabajar.
Algo como esto debería hacer el truco.
const dynObj = {}; dynObj[fieldType] = value; const updatedItemsArr = [...this.state.targetItems, dynObj];