import React, {useState, useCallback} from "react";
import {ActivityIndicator, Text, View, ScrollView, StyleSheet, SafeAreaView, Button, Image, Dimensions} from "react-native";
import {useBasement} from "react-native-basement";
import {json} from "react-native-basement/dist/options/fs";
import {base64} from "react-native-basement/dist/getters/base64";
const fs = json({limit: 1});
const styles = StyleSheet.create({
flex: {flex: 1},
bold: {fontWeight: "bold"},
padding: {padding: 10},
});
const CachedImage = ({ source: {uri: requestedUri}, ...extraProps }) => {
const [loading, uri, error] = useBasement(requestedUri, base64, fs);
if (loading || error) {
(!!error) && console.warn(error);
return (
);
}
return (
);
};
export default ({ ...extraProps }) => {
const [possibleUris] = useState(() => [[3000,2000]]
.map(
([w, h]) => `https://unsplash.it/${w}/${h}`
));
const [uris, setUris] = useState([]);
const onPress = useCallback(
() => setUris(
[...uris, possibleUris[Math.floor(possibleUris.length * Math.random())]],
),
[setUris, uris],
);
return (
{uris.map(
(uri, i) => (
),
)}
);
};