Soy nuevo en React Native, solo quiero verificar la declaración de console.log dentro de la declaración de devolución de una función, pero cuando reviso la consola, el contenido de console.log se imprime infinitamente en la pestaña de la consola. ¿Puede alguien explicar por qué ocurre esto? A continuación se muestra el código con el que estoy comprobando, gracias de antemano.
import * as React from'react'; import { Text, View } from 'react-native'; function ExportFile() { var RNFS = require('react-native-fs'); return ( <View> <Text> ExportFile { console.log("hello") } </Text> </View> ); } export default ExportFile;
A continuación se muestra la salida de mi consola.
esto se debe a que el componente sigue renderizándose. Cada vez que se vuelve a procesar, la declaración se registra nuevamente. Debe mover el archivo console.log a useEffect
preferiblemente. Algo como:
import * as React from'react'; import { Text, View } from 'react-native'; function ExportFile() { //only call console.log on component mount React.useEffect(()=>{ console.log("hello") },[]) var RNFS = require('react-native-fs'); return ( <View> <Text> ExportFile </Text> </View> ); } export default ExportFile;
Esto solo console.log en el montaje del componente. Puede agregar dependencias al useEffect
, por supuesto, para iniciar sesión en función de un cambio de dependencia. Para obtener más información, consulte los documentos oficiales: https://reactjs.org/docs/hooks-effect.html