css - React 地图功能和 CSS 网格
问题描述
嗨,伙计们,我正在尝试使用 React 中的此代码按列制作一个包含 5 个元素的 CSS 网格。问题是css网格将cartItem视为网格的一个元素,但我想让cartItem(Img,Title,Price,Add,Delete)的每个div成为网格的一部分。我怎么能那样做?谢谢
const Cartitems = (props) => {
return (
<div className={classes.Container}>
<div></div>
<div>Items</div>
<div>Price</div>
<div>Quantity</div>
<div>Remove</div>
{props.orders.map((val, i) => {
return val.num === 0 ? null : (
<CartItem number={val.num} color={val.color} />
);
})}
</div>
);
};
const CartItem = (props) => {
return (
<div className={classes.Container}>
<div className={classes.Img}></div>
<div className={classes.Title}>
Surf style balance board {props.color}
</div>
<div className={classes.Price}>149.00€</div>
<div className={classes.Add}>
<div>–</div>
{props.number}
<div>+</div>
</div>
<div className={classes.Delete}>X</div>
</div>
);
};
解决方案
您可以使用 React Fragment ,而不是将您的字段包装CartItem
在 a中。div
这将导致您的购物车项目的所有子项在 DOM 中彼此相邻:
const CartItem = (props) => {
return (
<>
<div className={classes.Img}></div>
<div className={classes.Title}>
Surf style balance board {props.color}
</div>
<div className={classes.Price}>149.00€</div>
<div className={classes.Add}>
<div>–</div>
{props.number}
<div>+</div>
</div>
<div className={classes.Delete}>X</div>
</>
);
};
请注意,除了使用<>
and之外,</>
您还可以使用<React.Fragment>
and </React.Fragment>
。一样的效果。
另一种方法是使用display: contents
包装div
你的CartItem
孩子,这会将每个孩子设置在父网格上。不幸的是,这对浏览器的支持有些有限,并带有一些可访问性问题。
推荐阅读
- sed - 使用 sed/awk linux bash 替换字符串
- java - 泛型 - 不能用 T 扩展 Base 为 T 返回 Base
- docker - Ubuntu 14.04 几分钟后破坏了 docker 网络
- c++ - C++类继承(游戏结构)
- reactjs - modernizr 与样式组件做出反应
- java - 如何从具有多对多关系的连接表中获取对象?春天+休眠
- javascript - Google Scripts - SMS 短信脚本的延迟循环
- python-3.x - 如何根据列值将标准化一分为二?
- youtube-api - 我有一个 YouTube 视频,当它完成后,我想重定向到我网站上的另一个页面
- elastic-stack - 在哪里可以找到 _grokparsefailure 的完整详细信息