English 中文(简体)
问题在于它所装的类型,请允许我将推进剂放在反应和沉痛中。
原标题:problem with typescript it doesn t let me put the prop in react and zustand
interface ArticuloCompra {
  id: string;
  cantidad: number;
  titulo: string;
  precio: number;
  descuento: number;
  descripcion: string;
  imagen: string;
}

const enviarComprasUsuarios = ({
  grupos,
}: {
  grupos: { [key: string]: ArticuloCompra & { cantidad: number } };
}) => {
  // Assuming "usuario" and "precioTotal" are defined somewhere
  if (usuario.dinero >= precioTotal) {
    Object.values(grupos).forEach(
      (itemCompras: ArticuloCompra & { cantidad: number }) => {
        const { item, cantidad } = itemCompras;
        const { id } = item;
        const nuevoDinero = usuario.dinero - precioTotal * cantidad;

        console.log(id);

        // Adjust this line according to your store structure
        agregarComprasUsuarios(usuario.id, item);
        quitarArticulo(id); // Uncomment this line if needed
        setNDinero(nuevoDinero);
        actualizarDineroUsuario(usuario.id, nuevoDinero);
        rutaNavegacion("/compras/comprasCompradas/");
      }
    );
  }
};

in const { item } = itemCompras; it gives me this error:

Property  item  does not exist on type  ArticuloCompra & { cantidad: number; } .ts(2339)

this is the store:

export interface ArticuloCompra {
  readonly id: string;
  cantidad: number;
  titulo: string;
  precio: number;
  descuento: number;
  descripcion: string;
  imagen: string;
}

export interface Usuarios {
  readonly id: string;
  usuario: string;
  contraseña: string;
  dinero: number;
  imagen: string;
  edad: number;
  articulosComprados: ArticuloCompra[];
}

interface DatosUsuarios {
  usuarios: Usuarios[];
  agregarComprasUsuarios: (usuarioId: string, item: ArticuloCompra) => void;
  actualizarDineroUsuario: (usuarioId: string, nuevoDinero: number) => void;
}

export const usuariosDatos = create<DatosUsuarios>((set) => ({
  usuarios: [
    {
      id: nanoid(),
      usuario: "hernan",
      contraseña: "mariela123",
      dinero: 300000000,
      edad: 23,
      articulosComprados: [],
      imagen: imagenHernan,
    },
  ],
  agregarComprasUsuarios: (usuarioId, item) =>
    set((state) => {
      const usuariosActualizados = state.usuarios.map((usuario) =>
        usuario.id === usuarioId
          ? {
              ...usuario,
              articulosComprados: [...usuario.articulosComprados, item],
            }
          : usuario
      );
      return { usuarios: usuariosActualizados };
    }),
  actualizarDineroUsuario: (usuarioId, nuevoDinero) =>
    set((state) => {
      const usuariosActualizados = state.usuarios.map((usuario) =>
        usuario.id === usuarioId ? { ...usuario, dinero: nuevoDinero } : usuario
      );
      return { usuarios: usuariosActualizados };
    }),
}));

这些数据包括:

cantidad    : 1
descripcion : "Lorem ipsum dolor sit amet,"
descuento   : 30
id          : "dJt9GJt8_z92X9xbclVoY"
imagen      : "/src/assets/imagenes/pantalones/pantalon_verde.jpg"
precio      : 20000
titulo      : "pantalon verde"

我需要能够将正确的推进剂转至能够纠正错误的项目:

Property  item  does not exist on type  ArticuloCompra & { cantidad: number; } .ts(2339)
⚠ Error (TS2339)  | 
`Property item does not exist on type ArticuloCompra & {cantidad: number}
 .
const item: any
问题回答

页: 1 ArticuloCompra:

(itemCompras: ArticuloCompra => {
        // Assuming that cantidad (quantity) was already setted. 
        const { id } = itemCompras;
        console.log(id);
        ...
        // See interface DatosUsuarios
        agregarComprasUsuarios(usuario.id, itemCompras);
        ...
)




相关问题
selected text in iframe

How to get a selected text inside a iframe. I my page i m having a iframe which is editable true. So how can i get the selected text in that iframe.

How to fire event handlers on the link using javascript

I would like to click a link in my page using javascript. I would like to Fire event handlers on the link without navigating. How can this be done? This has to work both in firefox and Internet ...

How to Add script codes before the </body> tag ASP.NET

Heres the problem, In Masterpage, the google analytics code were pasted before the end of body tag. In ASPX page, I need to generate a script (google addItem tracker) using codebehind ClientScript ...

Clipboard access using Javascript - sans Flash?

Is there a reliable way to access the client machine s clipboard using Javascript? I continue to run into permissions issues when attempting to do this. How does Google Docs do this? Do they use ...

javascript debugging question

I have a large javascript which I didn t write but I need to use it and I m slowely going trough it trying to figure out what does it do and how, I m using alert to print out what it does but now I ...

Parsing date like twitter

I ve made a little forum and I want parse the date on newest posts like twitter, you know "posted 40 minutes ago ","posted 1 hour ago"... What s the best way ? Thanx.

热门标签