Quiero una escritura para un objeto que replique un conjunto. Por ejemplo, deseo tener la identificación de la transacción como clave y los detalles de la transacción como valor. En mi intento de hacerlo, lo escribí como tal,
type TransactionDetail = { [key: TransactionId]: TransactionDetails; };Este será un tipo de apoyo para mi función,
const handleTransctcionSync = (transaction: TransactionDetail, isChecked: boolean) => { }Sin embargo, estaba teniendo dificultades para descubrir cómo pasar el accesorio a esta función. Intenté hacer esto pero no es aceptado.
handleTransactionDataSync({id: transactionDetails}, !isChecked);¿Alguna guía sobre cómo lograr esto?
Dado que el id es const id: TransactionId = transactionDetails.id; entonces la id debe usarse como una clave de objeto dinámico en lugar de la clave literal "id" .
Ejemplo:
const id: TransactionId = transactionDetails.id; ... handleTransactionDataSync({ [id]: transactionDetails }, !isChecked);o más simplemente:
handleTransactionDataSync( { [transactionDetails.id]: transactionDetails }, !isChecked, );Parece que la identificación de la transacción es un tipo de cadena:
type TransactionDetail = { [key: string]: TransactionDetails; }; Si en TransactionDetails faltan propiedades de TransactionDetails , entonces deben agregarse transactionDetails transactionDetails hacerse opcionales.
interface TransactionDetails { // ...the required properties // then optional properties displayedType?: ...., errors?: ...., hasNoGains?: ...., icon?: ...., // ...and 7 more optional }