Tengo un archivo JSON donde constantemente se almacenan y agregan nuevas noticias, su número cambia constantemente. Quiero enviar solo los últimos 3 elementos de este archivo JSON a FlatList. ¿Cómo hacerlo?
Aquí está mi recibo JSON y mi FlatList:
const [isLoading, setLoading] = useState(true); const [data, setData] = useState([]); const getNewsMain = async () => { try { const response = await fetch(`https://cdn.ertil-gorod.ru/json/ertnews.json?nocache`); const json = await response.json(); setData(json.ertnews); } catch (error) { console.error(error); } finally { setLoading(false); } } useEffect(() => { getNewsMain(); }, []); <FlatList data={data} initialNumToRender={5} keyExtractor={({ id }, index) => id} renderItem={ ( { item } ) => ( <TouchableOpacity style={ styles.ert__news__item } onPress={ ( ) => navigation.navigate( 'FullNews', item ) }> <Image style={ styles.ert__image__news } source={ { uri: item.img } } /> <Text style={ styles.ert__title__news }>{ item.name }</Text> <Text style={ styles.ert__anons__news }>{ item.anons }</Text> </TouchableOpacity> )} />Si data son una matriz, puede usar Array.slice
<FlatList data={data.slice(-3)} initialNumToRender={5} keyExtractor={({ id }, index) => id} renderItem={ ( { item } ) => ( <TouchableOpacity style={ styles.ert__news__item } onPress={ ( ) => navigation.navigate( 'FullNews', item ) }> <Image style={ styles.ert__image__news } source={ { uri: item.img } } /> <Text style={ styles.ert__title__news }>{ item.name }</Text> <Text style={ styles.ert__anons__news }>{ item.anons }</Text> </TouchableOpacity> )} />