微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

UseState在按钮上的执行成本如何,如何提高UseMemo的性能?

如何解决UseState在按钮上的执行成本如何,如何提高UseMemo的性能?

所以我有这些按钮可以做2件事,例如复选框按钮, 更改颜色,在绿色和黑色之间切换 说明为真或假

我的问题是:我按下的按钮在更改颜色之前有轻微的延迟,这对我的应用程序总体而言性能很差,已经在我的Redmi 5 Redmi note 9和galaxy a8中尝试过,它们都具有轻微的延迟,但延迟时间不同5的延迟时间最长,将近1秒。

我的问题是:这些按钮是否有更快/更好的性能代码?这是错误方法吗?我听说useMemo可以帮助提高性能,但是在这种情况下我不知道该怎么做,因为我必须创建具有其他功能的按钮。

这是我的代码: 首先我说出初始值

const [booleanMonth,setMonth]=useState([
{key:0,value:'January',title:'Jan',color:'black',checked:false},{key:1,value:'February',title:'Feb',{key:2,value:'march',title:'Mar',{key:3,value:'April',title:'Apr',{key:4,value:'May',title:'May',{key:5,value:'June',title:'Jun',{key:6,value:'July',title:'Jul',{key:7,value:'August',title:'Aug',{key:8,value:'September',title:'Sep',checked:true},{key:9,value:'October',title:'Oct',{key:10,value:'November',title:'Nov',{key:11,value:'December',title:'Dec',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)

  }

感谢您的帮助

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?