Estoy tratando de agregar pull para actualizar para obtener mis datos de mi API, pero no funciona y no puedo encontrar el problema dentro del código:
const[refresh,setRefresh]=useState(true) const onRefresh=()=>{ try{ axios .get('http://192.168.1.17:8000/File/') .then((response)=> { setFile(response.data); setFilteredFile(response.data) setEmpty(false) setRefresh(false); })} catch(error){console.log(error) } } useEffect(()=>{ onRefresh() },[]) <FlatList style={DocumentStyle.flatstyle} keyExtractor={(item)=>item['id']} data={filteredfile} renderItem={renderItem} onRefresh={()=>onRefresh()} refreshing={refresh} />No se preocupen por mí, no he vuelto a establecer mi actualización en verdadero después de que useEffect lo establezca en falso
El error se debe a que no importó useState, pero también necesita importar useEffect. Tampoco veo dónde se están utilizando algunos de los accesorios que pasaste a FlatList. Pero aquí hay una muestra de trabajo:
import {useState, useEffect} from 'react'; const FlatList = ({file, refreshing, onRefresh}) => { return ( <div> <p>{file}</p> <button onClick={() => onRefresh(2)}>Load another todo</button> </div> ) } export default function App() { const [refresh, setRefresh] = useState(true); const [file, setFile] = useState(''); useEffect(() => onRefresh(), []); const onRefresh = (id=1) => { try { fetch(`https://jsonplaceholder.typicode.com/todos/${id}`) .then(response => response.json()) .then(json => { console.log(json) setFile(JSON.stringify(json)) setRefresh(false); }) } catch(error) { console.log(error); } } return <FlatList file={file} refreshing={refresh} onRefresh={onRefresh} /> }