Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

276
Views
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 answers
Answer question

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 Report

0

Creo que deberías escribir así...

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

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!