前端求助 React

白白静静 2023-09-13 09:46:37

各位大佬,

有一组数据

const a = [
    { value: 1, text: 'a' },
    { value: 2, text: 'b' },
    { value: 3, text: 'a' },
]

循环渲染

第一条数据的text是a,然后第三条和第一条数据的text相等,这两条数据合并需要合并渲染出一种UI,

第二条数据的text是b,需要渲染成另一种UI

这个怎么实现?

...全文
246 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
白白静静 2023-09-14
  • 打赏
  • 举报
回复

我觉得我想问的应该是,react js怎么一边渲染,一边处理数据,判断下一个要渲染的或者要更改的已经渲染的

Evan_422 2023-09-13
  • 打赏
  • 举报
回复

可以用js来遍历这组数据并根据text的值来动态生成不同的UI。用条件语句来检查前一项和当前项的text值是否相等,如果相等,则合并渲染,否则渲染不同的UI。示例:

const a = [
    { value: 1, text: 'a' },
    { value: 2, text: 'b' },
    { value: 3, text: 'a' },
];

// 初始化一个变量来保存最后一个渲染的UI类型
let lastRenderedUI = null;

// 遍历数据数组
a.forEach(item => {
    // 如果当前项的text与上一项不相等,或者上一项为null,则表示需要渲染不同的UI
    if (item.text !== lastRenderedUI) {
        // 渲染不同UI的逻辑
        if (item.text === 'a') {
            console.log('渲染一种UI for text "a"');
            // 这里可以执行渲染UI的操作,例如添加到DOM中
        } else if (item.text === 'b') {
            console.log('渲染另一种UI for text "b"');
            // 这里可以执行渲染UI的操作,例如添加到DOM中
        }
        
        // 更新lastRenderedUI为当前项的text
        lastRenderedUI = item.text;
    } else {
        // 合并渲染相同UI的逻辑
        console.log('合并渲染相同UI for text "' + item.text + '"');
        // 这里可以执行合并渲染UI的操作,例如添加到DOM中
    }
});
白白静静 2023-09-14
  • 举报
回复
@Evan_422 这个渲染到id=3的时候,渲染的好像不是合并的UI吧?

32

社区成员

发帖
与我相关
我的任务
社区描述
一个关注前端开发、包含HTML、CSS、Javascript的前端开发的俱乐部
htmlcss前端 企业社区 陕西省·西安市
社区管理员
  • 鹏仔工作室
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧