javascript - React 如何在 SwiperSlide 中接收有关当前卡片的信息
问题描述
我在 SwiperSlide 元素中有 Card 元素。我需要了解用户现在看到的是哪张卡以及如何从该卡中检索信息。
MyStats.js
import React, { useState } from 'react';
import items from './allData';
import Menu from './Menu';
import Button from './Button';
const allCategories = ['All', ...new Set(items.map(item => item.category))];
console.log(allCategories);
function Mystats() {
const [menuItem, setMenuItem] = useState(items);
const [buttons, setButtons] = useState(allCategories);
var filter = (button) =>{
if(button === 'All'){
setMenuItem(items);
return;
}
const filteredData = items.filter(item => item.category === button);
setMenuItem(filteredData)
}
return (
<>
<Button button={buttons} filter={filter} />
<Menu menuItem={menuItem}/>
</>
);
}
export default Mystats;
MyStat.js 是放置我的卡片的页面,它们将用户重定向到下一页。这个 Javascript 从另一个 js 文件中获取所有元素,并在菜单中生成一张新卡片。
菜单.js
import React from 'react'
import {Link} from 'react-router-dom';
import Card from '@material-ui/core/Card';
import CardHeader from '@material-ui/core/CardHeader';
import CardMedia from '@material-ui/core/CardMedia';
import CardContent from '@material-ui/core/CardContent';
import { makeStyles } from '@material-ui/core/styles';
import { Swiper, SwiperSlide } from 'swiper/react';
import 'swiper/swiper-bundle.css';
const useStyles = makeStyles((theme) => ({
root: {
maxWidth: 300,
}
}));
function Menu({menuItem}) {
const classes = useStyles();
return (
<Swiper style={{display: 'flex', flexDirection: 'row'}}>
<div className="item">
{
menuItem.map((item) =>{
return (
<SwiperSlide style={{display: 'flex',alignItems: 'center', flexDirection: 'row'}}>
<Link to={{pathname:"tour"}}>
<Card className={classes.root} >
<CardHeader
title={item.name}
/>
<CardMedia
image="/static/images/cards/paella.jpg"
title="Paella dish"
/>
<CardContent>
{item.number}
</CardContent>
</Card>
</Link>
</SwiperSlide>
)
})
}
</div>
</Swiper>
)
}
export default Menu;
Menu.js 为用户创建卡片并将它们放入 swiper。
解决方案
推荐阅读
- python - AttributeError:'str' 对象没有属性'path',我在添加图像路径时收到此错误?
- vb.net - 如何通过更改 vb .net 中的自定义属性网格来更改标签字体?
- kotlin - Serenity BDD 项目模式
- javascript - 如何在表中传递隐藏字段并在 tr 单击时返回 jquery 中的值
- javascript - 自己的测试币/代币
- spring - 从 New Relic 警报策略中排除特定端点
- python - 如何使用 Open CV 和 Python 连接到康耐视相机
- ssl - SSL_read 无法读取服务器发送的所有字节
- java - java.lang.VerifyError:拒绝尝试子类型错误类 java.awt.geom.Point2D 的类 java.awt.Point:Android Studio
- graphql - 折扣价不适用于 magento 2 graphql 产品查询中的捆绑产品选项价格