Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

277
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

0

Creo que deberías escribir así...

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

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda