javascript - 在 ReactJS 中换行是我的逻辑错误
问题描述
我的目标是在 4 到 4 个链接组中换行,就像 ReactJS 动态 HTML 返回中的那样:
<a>Content</a><a>Content</a><a>Content</a><a>Content</a><br/>
<a>Content</a><a>Content</a><a>Content</a><a>Content</a><br/>
<a>Content</a><a>Content</a><a>Content</a><a>Content</a><br/>
// again and again...
我的逻辑正在回归:
// WRONG
<a>Content</a><br/>
// OK
<a>Content</a><a>Content</a><a>Content</a><a>Content</a><br/>
// WRONG
<a>Content</a><br/>
这是我的 ReactJS 组件的渲染:
render() {
return (
<div>
{this.state.interiores.map(item =>
<div>
<div className="gallery">
{
item.fotos
.map((foto,index) => {
return (
<React.Fragment>
<a href={`../images/${foto}.jpg`} className="big">
<img src={`../images/${foto}_thumb.jpg`} alt="" />
</a>
// Here is the logic
{index % 4 == 0 ? <br /> : ''}
</React.Fragment>
)
})
}
</div>
</div>
)}
}
解决方案
您必须记住,数组索引从 0 开始。这意味着它只会在第三项而不是第四项之后呈现中断规则。要解决此问题,您可以将 1 添加到索引。
代码沙箱示例
https://codesandbox.io/s/w09jlx65rl
例子
render() {
return (
<div>
{this.state.interiores.map(item => (
<div>
<div className="gallery">
{item.fotos.map((foto, index) => {
return (
<React.Fragment>
<a href={`../images/${foto}.jpg`} className="big">
<img src={`../images/${foto}_thumb.jpg`} alt="" />
</a>
// Here is the logic
{(index + 1) % 4 === 0 ? <br /> : ""}
</React.Fragment>
);
})}
</div>
</div>
))}
</div>
);
}
推荐阅读
- c - 在C中将数组转换为矩阵
- javascript - 使用 JS 的无限滚动无法在 Chrome 浏览器上运行 - PURE JS
- php - 如何在 PHP Linux 中访问 .mdb 数据源?
- reactjs - 带有 redux 状态的 useEffect 和 dep 会在 redux 状态发生其他变化时执行
- json - 如何缩进 RSpec 输出 JSON 文件
- javascript - 已解决 - 在循环 JSON 时在 DynamoDB 中存储值
- openstack - Openstack 云中的另一个计算安装出错
- python - 使用 lxml etree iterparse 解析大于 3gb 的 Xml 文件
- regex - 注册前协助
- amazon-rds - 如何查看极光无服务器的慢查询日志