React native 我正在尝试使用按键提取器在平面列表中添加并突出显示所选项目
从“React”导入React,{useState}; 从“react native”导入{Image,FlatList,Dimensions,StyleSheet}; 从“反应本机快速图像”导入快速图像 const picsummages=新数组(28)。填充(“http://placeimg.com/640/360/any"); 让generateRandomNum=()=>Math.floor(Math.random()*1001) 函数renderItem({item}){ 返回(React native 我正在尝试使用按键提取器在平面列表中添加并突出显示所选项目,react-native,React Native,从“React”导入React,{useState}; 从“react native”导入{Image,FlatList,Dimensions,StyleSheet}; 从“反应本机快速图像”导入快速图像 const picsummages=新数组(28)。填充(“http://placeimg.com/640/360/any"); 让generateRandomNum=()=>Math.floor(Math.random()*1001) 函数renderItem({item}){ 返回( )
);
}
const OtasView=(道具)=>{
const[images,setImages]=useState(picsummages);
返回(
GeneratorAndomNum().toString()}/>
);
};
const styles=StyleSheet.create({
屏幕:{
弹性:1,
填充:10,
对齐项目:“中心”,
},
项目视图:{
弹性:1/3,
flexDirection:“列”,
辩护内容:“中心”,
对齐项目:“中心”,
差额:5,
方面:1,
边界半径:200/2
},
});
导出默认OtasView;
这可能会有所帮助
const [images, setImages] = useState(picsumImages);
onSelect = index => {
const data = […images].map(item => item.selected = false);
data[index].selected = true;
setImages(data);
}
function renderItem({ item, index }) {
const style = index.selected ? styles.profileImgContainer : {};
return (
<TouchableHighlight style={style} onPress={() => onSelect(index)}>
<FastImage
source={{ uri: item}}
style={styles.itemView}
/>
</TouchableHighlight>
);
export default styles = StyleSheet.create({
profileImgContainer: {
marginLeft: 8,
height: 80,
width: 80,
borderRadius: 40,
},
itemView: {
flex: 1 / 3,
flexDirection: "column",
justifyContent: "center",
alignItems: "center",
margin: 5,
aspectRatio: 1,
borderRadius: 200 / 2
}
});
const[images,setImages]=useState(picsummages);
onSelect=index=>{
常量数据=[…图像].map(项=>item.selected=false);
数据[索引]。所选数据=真;
设置图像(数据);
}
函数renderItem({item,index}){
const style=index.selected?style.profileImgContainer:{};
返回(
onSelect(索引)}>
);
导出默认样式=StyleSheet.create({
profileImgContainer:{
边缘左:8,
身高:80,
宽度:80,
边界半径:40,
},
项目视图:{
弹性:1/3,
flexDirection:“列”,
辩护内容:“中心”,
对齐项目:“中心”,
差额:5,
方面:1,
边界半径:200/2
}
});
您能否添加更多描述您所面临的具体情况
const [images, setImages] = useState(picsumImages);
return (
<FlatList data={images} renderItem={renderItem} numColumns={3} style={{ marginLeft: 18, marginRight: 18, marginTop: 40 }} keyboardShouldPersistTaps="always"
showsVerticalScrollIndicator={false} keyExtractor={(renderItem) => generateRandomNum().toString()}/>
);
};
const styles = StyleSheet.create({
screen: {
flex: 1,
padding: 10,
alignItems: "center",
},
itemView: {
flex: 1 / 3,
flexDirection: "column",
justifyContent: "center",
alignItems: "center",
margin: 5,
aspectRatio: 1,
borderRadius: 200 / 2
},
});
export default OtasView;
const [images, setImages] = useState(picsumImages);
onSelect = index => {
const data = […images].map(item => item.selected = false);
data[index].selected = true;
setImages(data);
}
function renderItem({ item, index }) {
const style = index.selected ? styles.profileImgContainer : {};
return (
<TouchableHighlight style={style} onPress={() => onSelect(index)}>
<FastImage
source={{ uri: item}}
style={styles.itemView}
/>
</TouchableHighlight>
);
export default styles = StyleSheet.create({
profileImgContainer: {
marginLeft: 8,
height: 80,
width: 80,
borderRadius: 40,
},
itemView: {
flex: 1 / 3,
flexDirection: "column",
justifyContent: "center",
alignItems: "center",
margin: 5,
aspectRatio: 1,
borderRadius: 200 / 2
}
});