【发布时间】:2021-01-30 13:12:58
【问题描述】:
所以我有这些按钮可以做两件事,比如复选框按钮, 更改颜色,在绿色和黑色之间切换 状态检查为真或假
我的问题是:我按下的按钮在改变颜色之前有轻微延迟,我的应用程序整体性能不佳,已经在我的 Redmi 5 Redmi note 9 和 Galaxy a8 中尝试过,它们都有轻微延迟,延迟时间不同 Redmi 5 的延迟时间最长,大约 1 秒。 我的问题是:这些按钮是否有更快/更好的性能代码?这是错误的做法吗?
这是我的代码: 首先我声明初始值
const [booleanMonth,setMonth]=useState([
{key:0,value:'January',title:'Jan',color:'black',checked:false},
{key:1,value:'February',title:'Feb',color:'black',checked:false},
{key:2,value:'March',title:'Mar',color:'black',checked:false},
{key:3,value:'April',title:'Apr',color:'black',checked:false},
{key:4,value:'May',title:'May',color:'black',checked:false},
{key:5,value:'June',title:'Jun',color:'black',checked:false},
{key:6,value:'July',title:'Jul',color:'black',checked:false},
{key:7,value:'August',title:'Aug',color:'black',checked:false},
{key:8,value:'September',title:'Sep',color:'black',checked:true},
{key:9,value:'October',title:'Oct',color:'black',checked:false},
{key:10,value:'November',title:'Nov',color:'black',checked:false},
{key:11,value:'December',title:'Dec',color:'black',checked:false}
])
其次,我创建按钮
const createButtonMonth = () =>{
return (<View style={styles.containerForButtons2}>
{
booleanMonth.map((item,key) =>
<View key={item.key} style={styles.buttonFilter3}>
<Button style={styles.buttonFilter3}
title={item.title}
value={booleanMonth[item.key].checked}
color={booleanMonth[item.key].checked==true ? 'green':'black'}
onPress={()=>onPressMonthFilter(booleanMonth[item.key].key,booleanMonth[item.key].checked)}
/></View>)
}
</View>)
}
第三个功能,我将按钮颜色更改为绿色,并将检查状态从 false 变为 true,反之亦然
const onPressMonthFilter = (keyMonth,statusMonth) =>{
let newArr = [...booleanMonth]
if(newArr[keyMonth].checked==false){
newArr[keyMonth].checked=true
}else{
newArr[keyMonth].checked=false
}
setMonth(newArr)
}
感谢您的帮助
【问题讨论】:
-
你尝试过发布模式的测试吗?如果是调试模式,性能一般都不好,不用介意。
-
是的!即使我尝试作为 apk
-
小心,有几种方法可以制作 apk。您是否关注了reactnative.dev/docs/signed-apk-android.html,然后尝试了 --variant=release?
标签: reactjs react-native checkbox react-native-android