react里面的楼梯效果

一、整体思路就是滚动时判断标题距离顶部的距离 是否大于滚动高度赋值act,点击时触发scrillIntoView()页面滚动到指定位置

二、scrolllntoView的属性

scrollIntoView({

behavior: 'smooth', //顺滑的滚动

block: 'center', //容器上下的中间

inline: 'start', //容器左右的左边
})

三、涉及到的技术栈
react、antd-mobile、react-router-dom、axios
四、数据结构处理

{
    "seller": {
        "name": "粥品香坊(回龙观)",
        "description": "蜂鸟专送",
        "deliveryTime": 38,
        "score": 4.2,
        "serviceScore": 4.1,
        "foodScore": 4.3,
        "rankRate": 69.2,
        "minPrice": 20,
        "deliveryPrice": 4,
        "ratingCount": 24,
        "sellCount": 90,
        "bulletin": "粥品香坊其烹饪粥料的秘方源于中国千年古法,在融和现代制作工艺,由世界烹饪大师屈浩先生领衔研发。坚守纯天然、0添加的良心品质深得消费者青睐,发展至今成为粥类的引领品牌。是2008年奥运会和2013年园博会指定餐饮服务商。",
        "supports": [{
                "type": 0,
                "description": "在线支付满28减5"
            },
            {
                "type": 1,
                "description": "VC无限橙果汁全场8折"
            },
            {
                "type": 2,
                "description": "单人精彩套餐"
            },
            {
                "type": 3,
                "description": "该商家支持发票,请下单写好发票抬头"
            },
            {
                "type": 4,
                "description": "已加入“外卖保”计划,食品安全保障"
            }
        ],
        "avatar": "//static.galileo.xiaojukeji.com/static/tms/seller_avatar_256px.jpg",
        "pics": [
            "//fuss10.elemecdn.com/8/71/c5cf5715740998d5040dda6e66abfjpeg.jpeg?imageView2/1/w/180/h/180",
            "//fuss10.elemecdn.com/b/6c/75bd250e5ba69868f3b1178afbda3jpeg.jpeg?imageView2/1/w/180/h/180",
            "//fuss10.elemecdn.com/f/96/3d608c5811bc2d902fc9ab9a5baa7jpeg.jpeg?imageView2/1/w/180/h/180",
            "//fuss10.elemecdn.com/6/ad/779f8620ff49f701cd4c58f6448b6jpeg.jpeg?imageView2/1/w/180/h/180"
        ],
        "infos": [
            "该商家支持发票,请下单写好发票抬头",
            "品类:其他菜系,包子粥店",
            "北京市昌平区回龙观西大街龙观置业大厦底商B座102单元1340",
            "营业时间:10:00-20:30"
        ]
    },
    "goods": [{
            "name": "热销榜",
            "type": -1,
            "foods": [{
                    "name": "皮蛋瘦肉粥",
                    "price": 10,
                    "oldPrice": "",
                    "description": "",
                    "sellCount": 229,
                    "rating": 100,
                    "info": "一碗皮蛋瘦肉粥,总是我到粥店时的不二之选。香浓软滑,饱腹暖心,皮蛋的Q弹与瘦肉的滑嫩伴着粥香溢于满口,让人喝这样的一碗粥也觉得心满意足",
                    "ratings": [{
                            "username": "3******c",
                            "rateTime": 1469281964000,
                            "rateType": 0,
                            "text": "很喜欢的粥",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "2******3",
                            "rateTime": 1469271264000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "3******b",
                            "rateTime": 1469261964000,
                            "rateType": 1,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        }
                    ],
                    "icon": "//fuss10.elemecdn.com/c/cd/c12745ed8a5171e13b427dbc39401jpeg.jpeg?imageView2/1/w/114/h/114",
                    "image": "//fuss10.elemecdn.com/c/cd/c12745ed8a5171e13b427dbc39401jpeg.jpeg?imageView2/1/w/750/h/750"
                },
                {
                    "name": "扁豆焖面",
                    "price": 14,
                    "oldPrice": "",
                    "description": "",
                    "sellCount": 188,
                    "rating": 96,
                    "ratings": [{
                            "username": "3******c",
                            "rateTime": 1469281964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "2******3",
                            "rateTime": 1469271264000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "3******b",
                            "rateTime": 1469261964000,
                            "rateType": 1,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        }
                    ],
                    "info": "",
                    "icon": "//fuss10.elemecdn.com/c/6b/29e3d29b0db63d36f7c500bca31d8jpeg.jpeg?imageView2/1/w/114/h/114",
                    "image": "//fuss10.elemecdn.com/c/6b/29e3d29b0db63d36f7c500bca31d8jpeg.jpeg?imageView2/1/w/750/h/750"
                },
                {
                    "name": "葱花饼",
                    "price": 10,
                    "oldPrice": "",
                    "description": "",
                    "sellCount": 124,
                    "rating": 85,
                    "info": "",
                    "ratings": [{
                            "username": "3******c",
                            "rateTime": 1469281964000,
                            "rateType": 1,
                            "text": "没啥味道",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "2******3",
                            "rateTime": 1469271264000,
                            "rateType": 1,
                            "text": "很一般啊",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "3******b",
                            "rateTime": 1469261964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        }
                    ],
                    "icon": "//fuss10.elemecdn.com/f/28/a51e7b18751bcdf871648a23fd3b4jpeg.jpeg?imageView2/1/w/114/h/114",
                    "image": "//fuss10.elemecdn.com/f/28/a51e7b18751bcdf871648a23fd3b4jpeg.jpeg?imageView2/1/w/750/h/750"
                },
                {
                    "name": "牛肉馅饼",
                    "price": 14,
                    "oldPrice": "",
                    "description": "",
                    "sellCount": 114,
                    "rating": 91,
                    "info": "",
                    "ratings": [{
                            "username": "3******c",
                            "rateTime": 1469281964000,
                            "rateType": 1,
                            "text": "难吃不推荐",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "2******3",
                            "rateTime": 1469271264000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "3******b",
                            "rateTime": 1469261964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        }
                    ],
                    "icon": "//fuss10.elemecdn.com/d/b9/bcab0e8ad97758e65ae5a62b2664ejpeg.jpeg?imageView2/1/w/114/h/114",
                    "image": "//fuss10.elemecdn.com/d/b9/bcab0e8ad97758e65ae5a62b2664ejpeg.jpeg?imageView2/1/w/750/h/750"
                },
                {
                    "name": "招牌猪肉白菜锅贴/10个",
                    "price": 17,
                    "oldPrice": "",
                    "description": "",
                    "sellCount": 101,
                    "rating": 78,
                    "info": "",
                    "ratings": [{
                            "username": "3******c",
                            "rateTime": 1469281964000,
                            "rateType": 1,
                            "text": "不脆,不好吃",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "2******3",
                            "rateTime": 1469271264000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "3******b",
                            "rateTime": 1469261964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        }
                    ],
                    "icon": "//fuss10.elemecdn.com/7/72/9a580c1462ca1e4d3c07e112bc035jpeg.jpeg?imageView2/1/w/114/h/114",
                    "image": "//fuss10.elemecdn.com/7/72/9a580c1462ca1e4d3c07e112bc035jpeg.jpeg?imageView2/1/w/750/h/750"
                },
                {
                    "name": "南瓜粥",
                    "price": 9,
                    "oldPrice": "",
                    "description": "甜粥",
                    "sellCount": 91,
                    "rating": 100,
                    "ratings": [{
                            "username": "3******c",
                            "rateTime": 1469281964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "2******3",
                            "rateTime": 1469271264000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "3******b",
                            "rateTime": 1469261964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        }
                    ],
                    "icon": "//fuss10.elemecdn.com/8/a6/453f65f16b1391942af11511b7a90jpeg.jpeg?imageView2/1/w/114/h/114",
                    "image": "//fuss10.elemecdn.com/8/a6/453f65f16b1391942af11511b7a90jpeg.jpeg?imageView2/1/w/750/h/750"
                },
                {
                    "name": "红豆薏米美肤粥",
                    "price": 12,
                    "oldPrice": "",
                    "description": "甜粥",
                    "sellCount": 86,
                    "rating": 100,
                    "info": "",
                    "ratings": [{
                            "username": "3******c",
                            "rateTime": 1469281964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "2******3",
                            "rateTime": 1469271264000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "3******b",
                            "rateTime": 1469261964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        }
                    ],
                    "icon": "//fuss10.elemecdn.com/d/22/260bd78ee6ac6051136c5447fe307jpeg.jpeg?imageView2/1/w/114/h/114",
                    "image": "//fuss10.elemecdn.com/d/22/260bd78ee6ac6051136c5447fe307jpeg.jpeg?imageView2/1/w/750/h/750"
                },
                {
                    "name": "八宝酱菜",
                    "price": 4,
                    "oldPrice": "",
                    "description": "",
                    "sellCount": 84,
                    "rating": 100,
                    "info": "",
                    "ratings": [{
                            "username": "3******c",
                            "rateTime": 1469281964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "2******3",
                            "rateTime": 1469271264000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "3******b",
                            "rateTime": 1469261964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        }
                    ],
                    "icon": "//fuss10.elemecdn.com/9/b5/469d8854f9a3a03797933fd01398bjpeg.jpeg?imageView2/1/w/114/h/114",
                    "image": "//fuss10.elemecdn.com/9/b5/469d8854f9a3a03797933fd01398bjpeg.jpeg?imageView2/1/w/750/h/750"
                },
                {
                    "name": "红枣山药糙米粥",
                    "price": 10,
                    "oldPrice": "",
                    "description": "",
                    "sellCount": 81,
                    "rating": 91,
                    "info": "",
                    "ratings": [{
                            "username": "3******c",
                            "rateTime": 1469281964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "2******3",
                            "rateTime": 1469271264000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "3******b",
                            "rateTime": 1469261964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        }
                    ],
                    "icon": "//fuss10.elemecdn.com/9/b5/469d8854f9a3a03797933fd01398bjpeg.jpeg?imageView2/1/w/114/h/114",
                    "image": "//fuss10.elemecdn.com/9/b5/469d8854f9a3a03797933fd01398bjpeg.jpeg?imageView2/1/w/750/h/750"
                },
                {
                    "name": "糊塌子",
                    "price": 10,
                    "oldPrice": "",
                    "description": "",
                    "sellCount": 80,
                    "rating": 93,
                    "info": "",
                    "ratings": [{
                            "username": "3******c",
                            "rateTime": 1469281964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "2******3",
                            "rateTime": 1469271264000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "3******b",
                            "rateTime": 1469261964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        }
                    ],
                    "icon": "//fuss10.elemecdn.com/0/05/097a2a59fd2a2292d08067e16380cjpeg.jpeg?imageView2/1/w/114/h/114",
                    "image": "//fuss10.elemecdn.com/0/05/097a2a59fd2a2292d08067e16380cjpeg.jpeg?imageView2/1/w/750/h/750"
                }
            ]
        },
        {
            "name": "单人精彩套餐",
            "type": 2,
            "foods": [{
                "name": "红枣山药粥套餐",
                "price": 29,
                "oldPrice": 36,
                "description": "红枣山药糙米粥,素材包,爽口莴笋丝,四川泡菜或八宝酱菜,配菜可备注",
                "sellCount": 17,
                "rating": 100,
                "info": "",
                "ratings": [{
                    "username": "2******3",
                    "rateTime": 1469271264000,
                    "rateType": 0,
                    "text": "",
                    "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                }],
                "icon": "//fuss10.elemecdn.com/6/72/cb844f0bb60c502c6d5c05e0bddf5jpeg.jpeg?imageView2/1/w/114/h/114",
                "image": "//fuss10.elemecdn.com/6/72/cb844f0bb60c502c6d5c05e0bddf5jpeg.jpeg?imageView2/1/w/750/h/750"
            }]
        },
        {
            "name": "冰爽饮品限时特惠",
            "type": 1,
            "foods": [{
                "name": "VC无限橙果汁",
                "price": 8,
                "oldPrice": 10,
                "description": "",
                "sellCount": 15,
                "rating": 100,
                "info": "",
                "ratings": [{
                        "username": "3******c",
                        "rateTime": 1469281964000,
                        "rateType": 0,
                        "text": "还可以",
                        "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                    },
                    {
                        "username": "2******3",
                        "rateTime": 1469271264000,
                        "rateType": 0,
                        "text": "",
                        "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                    }
                ],
                "icon": "//fuss10.elemecdn.com/e/c6/f348e811772016ae24e968238bcbfjpeg.jpeg?imageView2/1/w/114/h/114",
                "image": "//fuss10.elemecdn.com/e/c6/f348e811772016ae24e968238bcbfjpeg.jpeg?imageView2/1/w/750/h/750"
            }]
        },
        {
            "name": "精选热菜",
            "type": -1,
            "foods": [{
                    "name": "娃娃菜炖豆腐",
                    "price": 17,
                    "oldPrice": "",
                    "description": "",
                    "sellCount": 43,
                    "rating": 92,
                    "info": "",
                    "ratings": [{
                            "username": "3******c",
                            "rateTime": 1469281964000,
                            "rateType": 0,
                            "text": "菜量还可以,味道还可以",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "2******3",
                            "rateTime": 1469271264000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        }
                    ],
                    "icon": "//fuss10.elemecdn.com/d/2d/b1eb45b305635d9dd04ddf157165fjpeg.jpeg?imageView2/1/w/114/h/114",
                    "image": "//fuss10.elemecdn.com/d/2d/b1eb45b305635d9dd04ddf157165fjpeg.jpeg?imageView2/1/w/750/h/750"
                },
                {
                    "name": "手撕包菜",
                    "price": 16,
                    "oldPrice": "",
                    "description": "",
                    "sellCount": 29,
                    "rating": 100,
                    "info": "",
                    "ratings": [{
                            "username": "3******c",
                            "rateTime": 1469281964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "2******3",
                            "rateTime": 1469271264000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        }
                    ],
                    "icon": "//fuss10.elemecdn.com/9/c6/f3bc84468820121112e79583c24efjpeg.jpeg?imageView2/1/w/114/h/114",
                    "image": "//fuss10.elemecdn.com/9/c6/f3bc84468820121112e79583c24efjpeg.jpeg?imageView2/1/w/750/h/750"
                },
                {
                    "name": "香酥黄金鱼/3条",
                    "price": 11,
                    "oldPrice": "",
                    "description": "",
                    "sellCount": 15,
                    "rating": 100,
                    "info": "",
                    "ratings": [{
                            "username": "3******c",
                            "rateTime": 1469281964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "2******3",
                            "rateTime": 1469271264000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        }
                    ],
                    "icon": "//fuss10.elemecdn.com/4/e7/8277a6a2ea0a2e97710290499fc41jpeg.jpeg?imageView2/1/w/114/h/114",
                    "image": "//fuss10.elemecdn.com/4/e7/8277a6a2ea0a2e97710290499fc41jpeg.jpeg?imageView2/1/w/750/h/750"
                }
            ]
        },
        {
            "name": "爽口凉菜",
            "type": -1,
            "foods": [{
                    "name": "八宝酱菜",
                    "price": 4,
                    "oldPrice": "",
                    "description": "",
                    "sellCount": 84,
                    "rating": 100,
                    "info": "",
                    "ratings": [{
                            "username": "3******c",
                            "rateTime": 1469281964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "2******3",
                            "rateTime": 1469271264000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "3******b",
                            "rateTime": 1469261964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        }
                    ],
                    "icon": "//fuss10.elemecdn.com/9/b5/469d8854f9a3a03797933fd01398bjpeg.jpeg?imageView2/1/w/114/h/114",
                    "image": "//fuss10.elemecdn.com/9/b5/469d8854f9a3a03797933fd01398bjpeg.jpeg?imageView2/1/w/750/h/750"
                },
                {
                    "name": "拍黄瓜",
                    "price": 9,
                    "oldPrice": "",
                    "description": "",
                    "sellCount": 28,
                    "rating": 100,
                    "info": "",
                    "ratings": [{
                            "username": "3******c",
                            "rateTime": 1469281964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "2******3",
                            "rateTime": 1469271264000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "3******b",
                            "rateTime": 1469261964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        }
                    ],
                    "icon": "//fuss10.elemecdn.com/6/54/f654985b4e185f06eb07f8fa2b2e8jpeg.jpeg?imageView2/1/w/114/h/114",
                    "image": "//fuss10.elemecdn.com/6/54/f654985b4e185f06eb07f8fa2b2e8jpeg.jpeg?imageView2/1/w/750/h/750"
                }
            ]
        },
        {
            "name": "精选套餐",
            "type": -1,
            "foods": [{
                    "name": "红豆薏米粥套餐",
                    "price": 37,
                    "oldPrice": "",
                    "description": "红豆薏米粥,三鲜干蒸烧卖,拍黄瓜",
                    "sellCount": 3,
                    "rating": 100,
                    "info": "",
                    "ratings": [{
                        "username": "2******3",
                        "rateTime": 1469271264000,
                        "rateType": 0,
                        "text": "",
                        "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                    }],
                    "icon": "//fuss10.elemecdn.com/f/49/27f26ed00c025b2200a9ccbb7e67ejpeg.jpeg?imageView2/1/w/114/h/114",
                    "image": "//fuss10.elemecdn.com/f/49/27f26ed00c025b2200a9ccbb7e67ejpeg.jpeg?imageView2/1/w/750/h/750"
                },
                {
                    "name": "皮蛋瘦肉粥套餐",
                    "price": 31,
                    "oldPrice": "",
                    "description": "",
                    "sellCount": 12,
                    "rating": 100,
                    "info": "",
                    "ratings": [{
                        "username": "2******3",
                        "rateTime": 1469271264000,
                        "rateType": 0,
                        "text": "",
                        "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                    }],
                    "icon": "//fuss10.elemecdn.com/8/96/f444a8087f0e940ef264617f9d98ajpeg.jpeg?imageView2/1/w/114/h/114",
                    "image": "//fuss10.elemecdn.com/8/96/f444a8087f0e940ef264617f9d98ajpeg.jpeg?imageView2/1/w/750/h/750"
                }
            ]
        },
        {
            "name": "果拼果汁",
            "type": -1,
            "foods": [{
                    "name": "蜜瓜圣女萝莉杯",
                    "price": 6,
                    "oldPrice": "",
                    "description": "",
                    "sellCount": 1,
                    "rating": "",
                    "info": "",
                    "ratings": [],
                    "icon": "//fuss10.elemecdn.com/b/5f/b3b04c259d5ec9fa52e1856ee50dajpeg.jpeg?imageView2/1/w/114/h/114",
                    "image": "//fuss10.elemecdn.com/b/5f/b3b04c259d5ec9fa52e1856ee50dajpeg.jpeg?imageView2/1/w/750/h/750"
                },
                {
                    "name": "加多宝",
                    "price": 6,
                    "oldPrice": "",
                    "description": "",
                    "sellCount": 7,
                    "rating": 100,
                    "info": "",
                    "ratings": [{
                            "username": "3******c",
                            "rateTime": 1469281964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "2******3",
                            "rateTime": 1469271264000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "3******b",
                            "rateTime": 1469261964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        }
                    ],
                    "icon": "//fuss10.elemecdn.com/b/9f/5e6c99c593cf65229225c5661bcdejpeg.jpeg?imageView2/1/w/114/h/114",
                    "image": "//fuss10.elemecdn.com/b/9f/5e6c99c593cf65229225c5661bcdejpeg.jpeg?imageView2/1/w/750/h/750"
                },
                {
                    "name": "VC无限橙果汁",
                    "price": 8,
                    "oldPrice": 10,
                    "description": "",
                    "sellCount": 15,
                    "rating": 100,
                    "info": "",
                    "ratings": [{
                            "username": "3******c",
                            "rateTime": 1469281964000,
                            "rateType": 0,
                            "text": "还可以",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "2******3",
                            "rateTime": 1469271264000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        }
                    ],
                    "icon": "//fuss10.elemecdn.com/e/c6/f348e811772016ae24e968238bcbfjpeg.jpeg?imageView2/1/w/114/h/114",
                    "image": "//fuss10.elemecdn.com/e/c6/f348e811772016ae24e968238bcbfjpeg.jpeg?imageView2/1/w/750/h/750"
                }
            ]
        },
        {
            "name": "小吃主食",
            "type": -1,
            "foods": [{
                    "name": "扁豆焖面",
                    "price": 14,
                    "oldPrice": "",
                    "description": "",
                    "sellCount": 188,
                    "rating": 96,
                    "info": "",
                    "ratings": [{
                            "username": "3******c",
                            "rateTime": 1469281964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "2******3",
                            "rateTime": 1469271264000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "3******b",
                            "rateTime": 1469261964000,
                            "rateType": 1,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        }
                    ],
                    "icon": "//fuss10.elemecdn.com/c/6b/29e3d29b0db63d36f7c500bca31d8jpeg.jpeg?imageView2/1/w/114/h/114",
                    "image": "//fuss10.elemecdn.com/c/6b/29e3d29b0db63d36f7c500bca31d8jpeg.jpeg?imageView2/1/w/750/h/750"
                },
                {
                    "name": "葱花饼",
                    "price": 10,
                    "oldPrice": "",
                    "description": "",
                    "sellCount": 124,
                    "rating": 85,
                    "info": "",
                    "ratings": [{
                            "username": "3******c",
                            "rateTime": 1469281964000,
                            "rateType": 1,
                            "text": "没啥味道",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "2******3",
                            "rateTime": 1469271264000,
                            "rateType": 1,
                            "text": "很一般啊",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "3******b",
                            "rateTime": 1469261964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        }
                    ],
                    "icon": "//fuss10.elemecdn.com/f/28/a51e7b18751bcdf871648a23fd3b4jpeg.jpeg?imageView2/1/w/114/h/114",
                    "image": "//fuss10.elemecdn.com/f/28/a51e7b18751bcdf871648a23fd3b4jpeg.jpeg?imageView2/1/w/750/h/750"
                },
                {
                    "name": "牛肉馅饼",
                    "price": 14,
                    "oldPrice": "",
                    "description": "",
                    "sellCount": 114,
                    "rating": 91,
                    "info": "",
                    "ratings": [{
                            "username": "3******c",
                            "rateTime": 1469281964000,
                            "rateType": 1,
                            "text": "难吃不推荐",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "2******3",
                            "rateTime": 1469271264000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "3******b",
                            "rateTime": 1469261964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        }
                    ],
                    "icon": "//fuss10.elemecdn.com/d/b9/bcab0e8ad97758e65ae5a62b2664ejpeg.jpeg?imageView2/1/w/114/h/114",
                    "image": "//fuss10.elemecdn.com/d/b9/bcab0e8ad97758e65ae5a62b2664ejpeg.jpeg?imageView2/1/w/750/h/750"
                },
                {
                    "name": "招牌猪肉白菜锅贴/10个",
                    "price": 17,
                    "oldPrice": "",
                    "description": "",
                    "sellCount": 101,
                    "rating": 78,
                    "info": "",
                    "ratings": [{
                            "username": "3******c",
                            "rateTime": 1469281964000,
                            "rateType": 1,
                            "text": "不脆,不好吃",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "2******3",
                            "rateTime": 1469271264000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "3******b",
                            "rateTime": 1469261964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        }
                    ],
                    "icon": "//fuss10.elemecdn.com/7/72/9a580c1462ca1e4d3c07e112bc035jpeg.jpeg?imageView2/1/w/114/h/114",
                    "image": "//fuss10.elemecdn.com/7/72/9a580c1462ca1e4d3c07e112bc035jpeg.jpeg?imageView2/1/w/750/h/750"
                },
                {
                    "name": "糊塌子",
                    "price": 10,
                    "oldPrice": "",
                    "description": "",
                    "sellCount": 80,
                    "rating": 93,
                    "info": "",
                    "ratings": [{
                            "username": "3******c",
                            "rateTime": 1469281964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "2******3",
                            "rateTime": 1469271264000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "3******b",
                            "rateTime": 1469261964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        }
                    ],
                    "icon": "//fuss10.elemecdn.com/0/05/097a2a59fd2a2292d08067e16380cjpeg.jpeg?imageView2/1/w/114/h/114",
                    "image": "//fuss10.elemecdn.com/0/05/097a2a59fd2a2292d08067e16380cjpeg.jpeg?imageView2/1/w/750/h/750"
                }
            ]
        },
        {
            "name": "特色粥品",
            "type": -1,
            "foods": [{
                    "name": "皮蛋瘦肉粥",
                    "price": 10,
                    "oldPrice": "",
                    "description": "咸粥",
                    "sellCount": 229,
                    "rating": 100,
                    "ratings": [{
                            "username": "3******c",
                            "rateTime": 1469281964000,
                            "rateType": 0,
                            "text": "很喜欢的粥",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "2******3",
                            "rateTime": 1469271264000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "3******b",
                            "rateTime": 1469261964000,
                            "rateType": 1,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        }
                    ],
                    "icon": "//fuss10.elemecdn.com/c/cd/c12745ed8a5171e13b427dbc39401jpeg.jpeg?imageView2/1/w/114/h/114",
                    "image": "//fuss10.elemecdn.com/c/cd/c12745ed8a5171e13b427dbc39401jpeg.jpeg?imageView2/1/w/750/h/750"
                },
                {
                    "name": "南瓜粥",
                    "price": 9,
                    "oldPrice": "",
                    "description": "甜粥",
                    "sellCount": 91,
                    "rating": 100,
                    "info": "",
                    "ratings": [{
                            "username": "3******c",
                            "rateTime": 1469281964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "2******3",
                            "rateTime": 1469271264000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "3******b",
                            "rateTime": 1469261964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        }
                    ],
                    "icon": "//fuss10.elemecdn.com/8/a6/453f65f16b1391942af11511b7a90jpeg.jpeg?imageView2/1/w/114/h/114",
                    "image": "//fuss10.elemecdn.com/8/a6/453f65f16b1391942af11511b7a90jpeg.jpeg?imageView2/1/w/750/h/750"
                },
                {
                    "name": "红豆薏米美肤粥",
                    "price": 12,
                    "oldPrice": "",
                    "description": "甜粥",
                    "sellCount": 86,
                    "rating": 100,
                    "info": "",
                    "ratings": [{
                            "username": "3******c",
                            "rateTime": 1469281964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "2******3",
                            "rateTime": 1469271264000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "3******b",
                            "rateTime": 1469261964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        }
                    ],
                    "icon": "//fuss10.elemecdn.com/d/22/260bd78ee6ac6051136c5447fe307jpeg.jpeg?imageView2/1/w/114/h/114",
                    "image": "//fuss10.elemecdn.com/d/22/260bd78ee6ac6051136c5447fe307jpeg.jpeg?imageView2/1/w/750/h/750"
                },
                {
                    "name": "红枣山药糙米粥",
                    "price": 10,
                    "oldPrice": "",
                    "description": "",
                    "sellCount": 81,
                    "rating": 91,
                    "info": "",
                    "ratings": [{
                            "username": "3******c",
                            "rateTime": 1469281964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "2******3",
                            "rateTime": 1469271264000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "3******b",
                            "rateTime": 1469261964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        }
                    ],
                    "icon": "//fuss10.elemecdn.com/9/b5/469d8854f9a3a03797933fd01398bjpeg.jpeg?imageView2/1/w/114/h/114",
                    "image": "//fuss10.elemecdn.com/9/b5/469d8854f9a3a03797933fd01398bjpeg.jpeg?imageView2/1/w/750/h/750"
                },
                {
                    "name": "鲜蔬菌菇粥",
                    "price": 11,
                    "oldPrice": "",
                    "description": "咸粥",
                    "sellCount": 56,
                    "rating": 100,
                    "info": "",
                    "ratings": [{
                            "username": "3******c",
                            "rateTime": 1469281964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "2******3",
                            "rateTime": 1469271264000,
                            "rateType": 0,
                            "text": ""
                        },
                        {
                            "username": "3******b",
                            "rateTime": 1469261964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        }
                    ],
                    "icon": "//fuss10.elemecdn.com/e/a3/5317c68dd618929b6ac05804e429ajpeg.jpeg?imageView2/1/w/114/h/114",
                    "image": "//fuss10.elemecdn.com/e/a3/5317c68dd618929b6ac05804e429ajpeg.jpeg?imageView2/1/w/750/h/750"
                },
                {
                    "name": "田园蔬菜粥",
                    "price": 10,
                    "oldPrice": "",
                    "description": "咸粥",
                    "sellCount": 33,
                    "rating": 100,
                    "info": "",
                    "ratings": [{
                            "username": "3******c",
                            "rateTime": 1469281964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "2******3",
                            "rateTime": 1469271264000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        },
                        {
                            "username": "3******b",
                            "rateTime": 1469261964000,
                            "rateType": 0,
                            "text": "",
                            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png"
                        }
                    ],
                    "icon": "//fuss10.elemecdn.com/a/94/7371083792c19df00e546b29e344cjpeg.jpeg?imageView2/1/w/114/h/114",
                    "image": "//fuss10.elemecdn.com/a/94/7371083792c19df00e546b29e344cjpeg.jpeg?imageView2/1/w/750/h/750"
                }
            ]
        }
    ],
    "ratings": [{
            "username": "3******c",
            "rateTime": 1469281964000,
            "deliveryTime": 30,
            "score": 5,
            "rateType": 0,
            "text": "不错,粥很好喝,我经常吃这一家,非常赞,以后也会常来吃,强烈推荐.",
            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png",
            "recommend": [
                "南瓜粥",
                "皮蛋瘦肉粥",
                "扁豆焖面",
                "娃娃菜炖豆腐",
                "牛肉馅饼"
            ]
        },
        {
            "username": "2******3",
            "rateTime": 1469271264000,
            "deliveryTime": "",
            "score": 4,
            "rateType": 0,
            "deliveryTime": "",
            "text": "服务态度不错",
            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png",
            "recommend": [
                "扁豆焖面"
            ]
        },
        {
            "username": "3******b",
            "rateTime": 1469261964000,
            "score": 3,
            "rateType": 1,
            "text": "",
            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png",
            "recommend": []
        },
        {
            "username": "1******c",
            "rateTime": 1469261864000,
            "deliveryTime": 20,
            "score": 5,
            "rateType": 0,
            "text": "良心店铺",
            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png",
            "recommend": []
        },
        {
            "username": "2******d",
            "rateTime": 1469251264000,
            "deliveryTime": 10,
            "score": 4,
            "rateType": 0,
            "text": "",
            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png",
            "recommend": []
        },
        {
            "username": "9******0",
            "rateTime": 1469241964000,
            "deliveryTime": 70,
            "score": 1,
            "rateType": 1,
            "text": "送货速度蜗牛一样",
            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png",
            "recommend": []
        },
        {
            "username": "d******c",
            "rateTime": 1469231964000,
            "deliveryTime": 30,
            "score": 5,
            "rateType": 0,
            "text": "很喜欢的粥店",
            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png",
            "recommend": []
        },
        {
            "username": "2******3",
            "rateTime": 1469221264000,
            "deliveryTime": "",
            "score": 4,
            "rateType": 0,
            "text": "量给的还可以",
            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png",
            "recommend": []
        },
        {
            "username": "3******8",
            "rateTime": 1469211964000,
            "deliveryTime": "",
            "score": 3,
            "rateType": 1,
            "text": "",
            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png",
            "recommend": []
        },
        {
            "username": "a******a",
            "rateTime": 1469201964000,
            "deliveryTime": "",
            "score": 4,
            "rateType": 0,
            "text": "孩子喜欢吃这家",
            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png",
            "recommend": [
                "南瓜粥"
            ]
        },
        {
            "username": "3******3",
            "rateTime": 1469191264000,
            "deliveryTime": "",
            "score": 4,
            "rateType": 0,
            "text": "粥挺好吃的",
            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png",
            "recommend": []
        },
        {
            "username": "t******b",
            "rateTime": 1469181964000,
            "deliveryTime": "",
            "score": 3,
            "rateType": 1,
            "text": "",
            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png",
            "recommend": []
        },
        {
            "username": "f******c",
            "rateTime": 1469171964000,
            "deliveryTime": 15,
            "score": 5,
            "rateType": 0,
            "text": "送货速度很快",
            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png",
            "recommend": []
        },
        {
            "username": "k******3",
            "rateTime": 1469161264000,
            "deliveryTime": "",
            "score": 4,
            "rateType": 0,
            "text": "",
            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png",
            "recommend": []
        },
        {
            "username": "u******b",
            "rateTime": 1469151964000,
            "deliveryTime": "",
            "score": 4,
            "rateType": 0,
            "text": "下雨天给快递小哥点个赞",
            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png",
            "recommend": []
        },
        {
            "username": "s******c",
            "rateTime": 1469141964000,
            "deliveryTime": "",
            "score": 4,
            "rateType": 0,
            "text": "好",
            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png",
            "recommend": []
        },
        {
            "username": "z******3",
            "rateTime": 1469131264000,
            "deliveryTime": "",
            "score": 5,
            "rateType": 0,
            "text": "吃了还想再吃",
            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png",
            "recommend": []
        },
        {
            "username": "n******b",
            "rateTime": 1469121964000,
            "deliveryTime": "",
            "score": 3,
            "rateType": 1,
            "text": "发票开的不对",
            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png",
            "recommend": []
        },
        {
            "username": "m******c",
            "rateTime": 1469111964000,
            "deliveryTime": 30,
            "score": 5,
            "rateType": 0,
            "text": "好吃",
            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png",
            "recommend": []
        },
        {
            "username": "l******3",
            "rateTime": 1469101264000,
            "deliveryTime": 40,
            "score": 5,
            "rateType": 0,
            "text": "还不错吧",
            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png",
            "recommend": []
        },
        {
            "username": "3******o",
            "rateTime": 1469091964000,
            "deliveryTime": "",
            "score": 2,
            "rateType": 1,
            "text": "",
            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png",
            "recommend": []
        },
        {
            "username": "3******p",
            "rateTime": 1469081964000,
            "deliveryTime": "",
            "score": 4,
            "rateType": 0,
            "text": "很喜欢的粥",
            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png",
            "recommend": []
        },
        {
            "username": "o******k",
            "rateTime": 1469071264000,
            "deliveryTime": "",
            "score": 5,
            "rateType": 0,
            "text": "",
            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png",
            "recommend": []
        },
        {
            "username": "k******b",
            "rateTime": 1469061964000,
            "deliveryTime": "",
            "score": 4,
            "rateType": 0,
            "text": "",
            "avatar": "//static.galileo.xiaojukeji.com/static/tms/default_header.png",
            "recommend": []
        }
    ]
}

五、前端页面框架
 

 <div className='list'>
      <Header />
      <Tabs style={{
        "--active-title-color": "orange"
      }}>
        <Tabs.Tab title='商品' key='fruits'>
          <div className="box">
            <div className="menu-wrapper">
              <ul>
                {
                  menuList.length > 0 && menuList.map((item, index) => (
                    <li className={act === index ? 'active' : ''} onClick={() => FnTable(index)} key={index}>
                      <span className="text border-1px">
                        <span style={item.type > 0 ? {} : { display: 'none' }}></span>{item.name}                                    </span>
                    </li>
                  ))
                }
              </ul>
            </div>
            <div className="floor-list" ref={leftItem} >
              {menuList.map((floor, index) => (
                <div key={index} className="floor-item" id={`floor-${index}`}>
                  <div className="img">
                    <span>{floor.name}</span>
                  </div>
                  <div className="tp">
                    {
                      floor.foods.map((food, idx) => (
                        <div className='fot_id' key={idx}>
                          <div className="icon">
                            <img width="57" height="57" src={food.icon} />
                          </div>
                          <div className="content">
                            <h2 className="name">{food.name}</h2>
                            <p className="desc">{food.description}</p>
                            <div className="extra">
                              <span className="count">月售{food.sellCount}份</span><span>好评率{food.rating}%</span>
                            </div>
                            <div className="price">
                              <span className="now">¥{food.price}</span><span className='old' style={food.oldPrice ? {} : { display: 'none' }}>¥{food.oldPrice}</span>
                            </div>
                            <button onClick={(e) => {
                              Fnstart(e)
                            }}>+</button>
                          </div>
                        </div>
                      ))
                    }
                  </div>

                </div>
              ))}
            </div>
          </div>
        </Tabs.Tab>
        <Tabs.Tab title='评价' key='vegetables'>
          <Rates />
        </Tabs.Tab>
        <Tabs.Tab title='商家' key='animals'>
          商家
        </Tabs.Tab>
      </Tabs>
      <div className="footer" ref={collect}>
        <div className="left">
          <Badge content={total[1]}>
            <div className={styles.box}>
              <TruckOutline fontSize={"40px"} />
            </div>
          </Badge>
          <span style={{ marginRight: "10px" }}>¥{total[0]}</span>
          <span>另需配送费4元</span>
        </div>
        <div className="right">
          <button style={{ background: total[1] > 0 ? "green" : "#e3e3e3" }}>去结算</button>
        </div>
      </div>
    </div >

六、sass代码

.list{
    width: 100vw;
    height: calc(100% - 103px);
    .box{
        height: 100%;
        display: flex;
        // align-items: center;
        .menu-wrapper{
            width: 35%;
            height: 400px;
            overflow: hidden;
            ul{
                list-style: none;
                li{
                    height: 40px;
                    line-height: 40px;
                }
                .active{
                    background: antiquewhite;
                    color: white;
                    font-weight: bold;
                }
            }
        }
        .floor-list{
            height: 300px;
            overflow: auto;
            -ms-overflow-style: none;/* IE 10+ */
            overflow: -moz-scrollbars-none;/* Firefox */
            .fot_id{
                display: flex;
            }
        }
    }
    .footer{
        width: 100vw;
        background-color: skyblue;
        position: fixed;
        bottom: 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
        .left{
            padding-left: 10px;
            display: flex;
            align-items: center;
        }
        .right{
            button{
                width: 100px;
                height: 40px;
                background: #e3e3e3;
                color: white;
                border: none;
                border-radius: 3px;
            }
        }
    }
    #ball{
        width: 20;
        height: 20;
        border-radius: 50%;
        background-color: blue;
        position: absolute;
    }
}


七、具体实现思路
 

  const navigate = useNavigate()
  //左侧列表
  const [menuList, setMenuList] = useState([])
  //右侧数据
  // const [scrollPositions, setScrollPositions] = useState([]);
  //存储下标
  const [act, setAct] = useState(0)
  //根据下标取出数组中对应下标的ScrollTop值 就让右边的scrollTop维数组中取出的值
  const leftItem = useRef(null)
  var [num, setNum] = useState(0)
  //渲染完成获取每一个列表距离顶部的距离
  useEffect(() => {
    //获取数据
    getGoods();
    //监听滚动变化
    leftItem.current.addEventListener("scroll", FnScroll)
  }, [])
  //获取数据
  const getGoods = async () => {
    const { data } = await axios.get('data.json')
    setMenuList([...data.goods])
  }
  //点击切换位置
  const FnTable = (index) => {
    setAct(index);
    // console.log(activeIndex);
    scrollToFloor(index);
  };
  const scrollToFloor = (index) => {
    const floorElement = document.getElementById(`floor-${index}`);
    // console.log(floorElement);
    if (floorElement) {
      floorElement.scrollIntoView({ behavior: 'smooth' });
    }
  };
  //滚动切换位置
  const FnScroll = () => {
    //滚动高度
    const scrollTop = leftItem.current.scrollTop
    const floorItems = document.getElementsByClassName('floor-item');
    //标题距离页面顶部距离的数组
    const positions = Array.from(floorItems).map((item) => item.offsetTop);
    const act = positions.findIndex(val => val > scrollTop)
    console.log(act)
    setAct(act === -1 ? positions.length - 1 : act);
  };
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
React 放大镜效果通常是指在前端开发中使用 React 技术实现的一种交互式功能,让用户能够放大图片或者内容区域。这个效果通常是通过 CSS 的 `transform: scale()` 属性结合组件的状态或 props 来实现的。当你点击某个区域或者触发某些事件时,会改变元素的缩放比例,提供类似看图软件中的放大效果。 以下是实现简单放大镜效果的一个基本步骤: 1. 创建一个 React 组件,包含一个原图容器和一个可放大显示的子元素(如 `<img>` 或 `<div>`)。 2. 给原图添加样式,设置初始缩放比例为 1。 3. 定义一个状态变量来存储当前的缩放比例,初始化为 1(非放大)。 4. 添加事件处理函数,在用户触发事件(如鼠标移动、双击等)时更新缩放比例。 5. 使用 `style` 属性动态设置子元素的 `scale` 样式,实现放大效果。 下面是一个简单的示例代码: ```jsx import React, { useState } from 'react'; const ZoomableImage = ({ src }) => { const [zoom, setZoom] = useState(1); const handleMouseEnter = () => setZoom(1.05); const handleMouseLeave = () => setZoom(1); const handleClick = () => setZoom(zoom > 1 ? 1 : zoom + 0.1); // 鼠标单击放大 return ( <div onMouseEnter={handleMouseEnter} onMouseLeave={handleMouseLeave}> <img src={src} style={{ transform: `scale(${zoom})`, transition: 'transform 0.3s' }} /> <button onClick={handleClick}>放大</button> </div> ); }; export default ZoomableImage; ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值