Saltar al contenido

No asignable para escribir IntrinsicAttributes & IntrinsicClassAttributes React.js

Nuestro grupo de especialistas luego de ciertos días de trabajo y de recopilar de información, encontramos la solución, nuestro deseo es que resulte útil para ti en tu trabajo.

Solución:

IntrinsicAttributes e IntrinsicClassAttributes

Interfaces implementado en TypeScript. Ellos influyen Reaccionar y .jsxinteracción con el DOM elementos, mientras se trabaja con Componentes personalizados.


Principio subyacente

Supongamos que tienes

interface BarProps 
  foo: string;


class Bar extends React.Component 
  ...

Si intentas renderizarlo

render() 
  return (
    
);

Obtendrá un error similar; ya que está violando la verificación de tipo de interfaz. El componente debe tener accesorios obligatorios, es decir BarProps pasó como un argumento aquí.

En su lugar, para que funcione, tendrás que hacer algo como…

render() 
  return (
    
);

o puede eliminarlo de la propia definición del Componente.

class Bar extends React.Component<> 
 ...

o hacer el foo Opcional..

interface BarProps
  foo?: string;


La idea es implementar la consistencia.

En su caso, está pasando una propiedad desconocida, es decir. action que probablemente no se haya definido en su Componente.

Cuando llamas a tu componente como – esencialmente significa importar todos los accesorios disponibles.

Cuando llamas explícitamente action apoyo como arroja el gran error gordo.


Los errores mencionados son bastante notorios. Puede encontrar más información en esta guía de depuración para React y TypeScript que destaca estos errores y comparte la posible solución.

Puede leer más sobre la implementación de IntrinsicAttributes y IntrinsicClassAttributes en este repositorio

Al profundizar en el checker.ts de Typescript, es probable que funcione porque no es necesario ejecutar el bloque donde se realiza la asignación a los atributos intrínsecos, ya que no hay JsxAttributes explícitos para comparar para la invocación de ese componente (isComparingJsxAttributes puede ser false). Intente depurar el código fuente de Typescript si realmente necesita averiguar si este es el caso.

Simplemente tome un ejemplo que aquí mecanografiado espera que esté bien que se pase algo solo para ser deconstruido cuando se monte el componente.


Pero aquí mecanografiado toma this.state.action como indefinido o tal vez null porque nunca es seguro que se pase un valor válido.


Incluso si tiene el tipo de accesorio de acciones correcto. todavía no sabe si tiene valor o no, por lo tanto lo ve como que es un objeto vacío y no se puede asignar a la acción.

Te mostramos las comentarios y valoraciones de los lectores

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *