Me gustaría ver mis solicitudes de red en React Native para ayudarme a depurar, idealmente en la pestaña 'Red' de las herramientas de desarrollo de Chrome.
Hay algunos problemas cerrados sobre esto en GitHub ( https://github.com/facebook/react-native/issues/4122 y https://github.com/facebook/react-native/issues/934 ) pero yo no ' Los entiendo completamente. Parece que necesito deshacer algunos de los polyfills de React Native y luego ejecutar algunos comandos con indicadores de depuración adicionales, y tal vez modificar algunas configuraciones de seguridad de Chrome. Y aparentemente hay algunos problemas de seguridad involucrados en hacer esto que podrían convertirlo en una idea terrible, pero nadie involucrado en el hilo ha declarado explícitamente cuáles son.
¿Alguien podría proporcionar una guía paso a paso para hacer que la pestaña Red funcione con React Native, así como una explicación de los problemas de seguridad involucrados al hacerlo?
fuente
Uncaught Error: unsupported BodyInit type at Response.Body._initBody (fetch.js:231) at new Response (fetch.js:390) at XMLHttpRequest.xhr.onload (fetch.js:437)
No estoy seguro de por qué nadie ha señalado esta solución hasta ahora. Utilice React Native Debugger - https://github.com/jhen0409/react-native-debugger ! En mi opinión, es la mejor herramienta de depuración para React Native y ofrece inspección de red lista para usar.
Eche un vistazo a estas capturas de pantalla.
Haga clic derecho y seleccione 'Habilitar inspección de red'
Haga clic derecho y seleccione 'Habilitar inspección de red'
¡Depurar!
fuente
Enable Network Inspect
para que funcione. Por defecto, no es así.Utilizo lo siguiente en mi aplicación (agregue esto en su archivo principal de punto de entrada app.js):
Lo mejor es que también muestra los registros de recuperación en la consola, que están bien formateados.
Captura de pantalla:
En la pestaña de red:
fuente
Utilizo Reactotron para rastrear solicitudes de red.
fuente
Sé que esta es una pregunta antigua, pero hay una forma mucho más segura de hacer esto ahora que no requiere deshabilitar CORS o alterar el código fuente de React Native. Puede usar una biblioteca de terceros llamada Reactotron que no solo rastrea las llamadas a la API (usando el complemento de red), sino que también puede rastrear su tienda Redux y Sagas con una configuración adicional:
https://github.com/infinitered/reactotron https://github.com/infinitered/reactotron/blob/master/docs/plugin-networking.md
fuente
Pude depurar mis solicitudes en Chrome eliminando el polyfill que proporciona React Native después de importar React Native.
Esto funcionó para mí para las mismas solicitudes de origen. No estoy seguro si necesita deshabilitar CORS en Chrome para que funcione para el origen cruzado.
fuente
En el pasado, usé
GLOBAL.XMLHttpRequest
hack para rastrear mis solicitudes de API, pero a veces es muy lento y no funcionó para solicitudes de activos. Decidí usar laPostman’s proxy
función para inspeccionar la comunicación HTTP que sale del teléfono. Para obtener más detalles, consulte la documentación oficial , pero básicamente hay tres sencillos pasos:$ ifconfig
)fuente
Tenga cuidado con este código.
Ayuda y es genial, pero destruye la carga. Pasé 2 días tratando de averiguar por qué los archivos cargados envían [objeto Objeto] en lugar del archivo real. El motivo es un código anterior.
Úselo para llamadas regulares, pero no para llamadas multiparte / form-data
fuente
Sugiero usar Charles para inspeccionar sus solicitudes de red. Es realmente bueno y proporciona más visibilidad y te permite hacer cosas avanzadas.
http://charlesproxy.com
fuente
http://localhost:8081/index.android.bundle?platform=android&dev=true
... ¿cómo hacer que capture TODAS las solicitudes? (EstoySi está buscando depurar solicitudes de red en una versión de lanzamiento de su aplicación, puede usar la biblioteca react-native-network-logger . Le permite monitorear y ver las solicitudes de red dentro de la aplicación desde una pantalla de depuración personalizada.
Luego, puede poner esto detrás de una marca de compilación o una marca de red para deshabilitarlo para los usuarios en la aplicación de producción.
Simplemente instálelo y
yarn add react-native-network-logger
luego agregue esto en el punto de entrada de su aplicación:Y esto en una pantalla de depuración:
Descargo de responsabilidad: soy el autor del paquete.
fuente
Si tiene un teléfono o emulador Android,
npx react-native start
Luego abre Android Studio .
Abra la
android
carpeta de su proyecto como un proyecto de Android Studio.Haga clic en ese icono azul que es Android Profiler
Después de que se inicie Android Profiler, puede agregar su aplicación a través del ícono gris más cerca de la
SESSIONS
etiquetaAhora puede inspeccionar las redes a través de esta herramienta. Puede ver triángulos que muestran la actividad de su red.
Consulte esto para obtener más información sobre cómo inspeccionar el tráfico de la red .
fuente
Agregue el depurador en js donde puede ver la solicitud o la respuesta
fuente