Estaba jugando con los ejemplos para comprender el flujo de código interno de setState de React.
Noté que ReactCompositeComponentWrapper Object tenía referencia a _instance Object que a su vez tenía referencia al mismo (la consola de captura de pantalla) ReactCompositeComponentWrapper Object que _ReactInternalInstance . ¿Es esa una estructura esperada?
Sí, es intencionalmente una estructura doblemente vinculada. ReactCompositeComponentWrapper
es solo interno y envuelve los componentes compuestos definidos por el usuario. Contiene una referencia a la instancia del componente definido por el usuario que se define cuando se monta . Entonces ReactInstanceMap
se usa para almacenar una referencia al contenedor interno en la instancia pública .
Si observa ReactInstanceMap
, tiene más información en los comentarios del documento.
ReactInstanceMap
mantiene un mapeo de una instancia pública con estado (clave) y la representación interna (valor). Esto permite que los métodos públicos acepten la instancia de cara al usuario como argumento y la asignen a los métodos internos.
(Tenga en cuenta que estos son detalles de implementación privados y cambiarán en versiones futuras).
Gracias por la aclaración, fue realmente útil.
Comentario más útil
(Tenga en cuenta que estos son detalles de implementación privados y cambiarán en versiones futuras).