Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

278
Vistas
TS2322: el tipo 'Atributo' no se puede asignar al tipo 'booleano | indefinido'. Palanca

Primero probé isToggle y onToggle para que fueran de tipo booleano, pero aún advierte sobre los tipos después del cambio que puede ver a continuación.

Este es un error de verificación: el tipo 'Atributo' no se puede asignar al tipo 'booleano | indefinido'.

Este es un error de onChange: el tipo 'Atributo' no se puede asignar al tipo 'ChangeEventHandler'. El tipo 'Atributo' no proporciona ninguna coincidencia para la firma '(evento: ChangeEvent): void'.

 import React, {ChangeEventHandler} from "react"; import classNames from "classnames"; import './SwitchToggle.css'; interface Atrribute{ rounded:boolean; isToggled:boolean|undefined; onToggle:ChangeEventHandler<HTMLInputElement>; } const SwitchToggle =(rounded:Atrribute ,isToggled:Atrribute,onToggle:Atrribute)=>{ const sliderCX = classNames("slider",{ "rounded":rounded }) return( <label className={"switch"}> <input type={"checkbox"} checked={isToggled} onChange={onToggle}/> <span className={sliderCX}/> </label> ) } export default SwitchToggle;

También uso este código en main y funciona bien

 const [isToggled,setTisToggled] = useState(false); <SwitchToggle isToggled{...SwitchToggle.prototype.isToggled} onToggle={()=>setTisToggled(!SwitchToggle.prototype.isToggle)}/>
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Así no es como se desestructuran los argumentos de las funciones:

 const SwitchToggle = (rounded:Atrribute ,isToggled:Atrribute,onToggle:Atrribute) => {...}

Lo que le está diciendo a TypeScript aquí es que esta función recibirá tres argumentos, cada uno de ellos de tipo Atrribute . Pero en su lugar, esta función recibirá un argumento, de tipo Atrribute , del cual desea desestructurar tres propiedades.

Para desestructurar un objeto, use la sintaxis de desestructuración {} :

 const SwitchToggle = ({ rounded, isToggled, onToggle } : Atrribute) => {...}
about 4 years ago · Juan Pablo Isaza Denunciar

0

Creo que deberías escribir así...

 const SwitchToggle =({ rounded, isToggled ,onToggle }:Atrribute)=>{
about 4 years ago · Juan Pablo Isaza Denunciar

0

Su declaración de accesorios es incorrecta. No puedes escribir tus props de esta manera:

const SwitchToggle =(rounded:Atrribute ,isToggled:Atrribute,onToggle:Atrribute) => {...}

Atrribute es el tipo de todo su objeto de props , por lo que debe escribirlo de esta manera:

const SwitchToggle =(props:Atrribute) => {...}

O, si desea desestructurar su objeto, será algo como:

const SwitchToggle =({rounded, isToggled, onToggle}:Atrribute) => {...}

PD: Escribiste mal Atrribute .

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda