Para un proyecto, estoy tratando de crear una página donde el usuario pueda editar una publicación. Una publicación tiene su contenido y 0 o más imágenes. Como se guarda en la base de datos en diferentes tablas, he creado dos puntos finales en el Backend (/posts, /images).
En el componente de edición, estoy tratando de usar un tipo de datos Establecer para realizar un seguimiento de qué parte de la publicación se ha editado (contenido de publicación o imágenes de publicación). Las partes relevantes del código del componente para eso se encuentran a continuación.
... @Component({ components: { ckeditor: CKEditor.component, ImageListCard }, }) export default class ObjectEditView extends MainShell { private _changes = new Set<EditedAttributes>(); ...EditedAttributes es una enumeración que contiene los diferentes atributos de la publicación que se pueden editar. Al enviar, hay un código para verificar a qué puntos finales se deben enviar.
Cada vez que cargo la página en mi navegador, aparece el siguiente error al cargar.
TypeError: this._changes is undefined
Lo que encuentro realmente extraño es que dice que _changes no está definido cuando definí claramente _changes como un nuevo conjunto.
He intentado las siguientes cosas, sin éxito.
_changes en la clase y luego definiéndola en un constructor._changes a un nuevo Conjunto en la consola del navegador, que funcionó pero obviamente no es una solución._changes a una nueva instancia de un Conjunto de nuevo en el enlace creado._changes a una nueva instancia de un Conjunto de nuevo en el gancho montado.Por supuesto, puedo hacer un valor booleano de _changes y hacer solicitudes a todos los puntos finales en cada acción de envío. Sin embargo, esto pondrá una carga innecesaria en la API. También puedo cambiar el Conjunto a una matriz, pero elegí un Conjunto ya que un elemento solo se puede aplicar una vez.
Si alguien pudiera explicarme por qué dice que no está definido cuando lo definí claramente, o proporcionar una solución para esto, sería realmente increíble: D.
Yo mismo ya obtuve la solución. Configuré _changes en el gancho montado y agregué un estado de componente que en el estado "listo" cargaría el componente. Por lo tanto, no se intentará leer _changes cuando aún se encuentre en su estado indefinido.