gpt4 book ai didi

javascript - 在每个 'X' React 组件后插入一个元素

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:02:06 25 4
gpt4 key购买 nike

我有一个 React 组件,它使用 Bootstrap 的 col col-md-4 样式将项目列表呈现为三列。但是,我需要 insert a clearfix div在每三个元素之后,以确保元素的下“行”显示在正确的位置。

我当前的渲染代码如下所示:

render() {
var resultsRender = $.map(this.state.searchResults, function (item) {
return <Item Name={ item.Name } Attributes={ item.Attributes } />;
}

return (
<div>{ resultsRender }</div>
);
}

Item 只是使用 col 类呈现一个 div,其中包含传入的内容:

render() {
return(
<div className='col col-md-4'>
...content here...
</div>
);
}

我目前的解决方法是将 Item 的索引作为 prop 传入,如果索引是 3 的倍数,则将 clearfix 类应用于 Item ,但这对我来说感觉有点老套,我更喜欢一个单独的 div 来允许我只显示所需视口(viewport)大小的 clearfix(使用 Bootstrap 的 visible-* 类).

我确信一定有一种比我想出的方法更优雅的方法来解决这个问题。任何建议表示赞赏。

最佳答案

您可以迭代数组并添加 <div/>每 3 项:

render() {
var items = $.map(this.state.searchResults, function (item) {
return <Item Name={ item.Name } Attributes={ item.Attributes } />;
}

var resultsRender = [];
for (var i = 0; i < items.length; i++) {
resultsRender.push(items[i]);
if (i % 3 === 2) {
resultsRender.push(<div className="clearfix" />);
}
}

return (
<div>{ resultsRender }</div>
);
}

关于javascript - 在每个 'X' React 组件后插入一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36619418/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com