🎈 perf(优化加入购物车):

This commit is contained in:
2022-11-26 17:28:04 +08:00
parent ac260696f8
commit c9e7e597af
5 changed files with 79 additions and 59 deletions
@@ -1,4 +1,4 @@
import { View } from '@tarojs/components'
import { CustomWrapper, View } from '@tarojs/components'
import { memo, useCallback, useMemo } from 'react'
import classnames from 'classnames'
import styles from './index.module.scss'
@@ -12,7 +12,6 @@ type param = {
sale_model: saleModeType
onChangeSelect: (val: any) => any
onChangeCount: (val: any) => any
item: any
}
@@ -56,10 +55,14 @@ export default memo((props: param) => {
const formatUnit = useCallback((item) => {
return item.sale_mode == 0 ? '条' : '米'
}, [])
const model_status = useMemo(() => {
return sale_model != item.sale_mode
}, [item])
return (
<View className={classnames(styles.product_item, sale_model != item.sale_mode && styles.no_product_item_select)} onClick={clickProduct}>
<View className={classnames(styles.product_item, model_status && styles.no_product_item_select)} onClick={clickProduct}>
<View className={styles.checkbox} catchMove>
<MCheckbox status={item.selected} onSelect={selectCallBack} onClose={colseCallBack} disabled={sale_model != item.sale_mode} />
<MCheckbox status={item.selected} onSelect={selectCallBack} onClose={colseCallBack} disabled={model_status} />
</View>
<View className={styles.img}>
<LabAndImg value={rga} showStatus={false} onClick={getLabAndImg} />
@@ -88,7 +91,7 @@ export default memo((props: param) => {
unit={formatUnit(item)}
minNum={item.minNum}
maxNum={item.maxNum}
disabled={sale_model != item.sale_mode}
disabled={model_status}
/>
</View>
</View>