第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 React js 創(chuàng)建類似于聲譽更改的日期標頭

使用 React js 創(chuàng)建類似于聲譽更改的日期標頭

暮色呼如 2022-12-22 09:56:48
我正在嘗試創(chuàng)建標題,就像本網(wǎng)站頂部的聲譽變化一樣。我使用 react js 和 next js。這是我創(chuàng)建的代碼沙箱演示。https://codesandbox.io/s/react-array-map-xn316我想要的輸出是:上一個小時內容1內容2內容3今天內容4年長的內容5
查看完整描述

1 回答

?
繁華開滿天機

TA貢獻1816條經(jīng)驗 獲得超4個贊

您的 if-else 邏輯不會為您提供正確的標頭,并且您正在將它們壓扁在 top-level 上else。你得到正確的標題


    let listHeader = "--";

    if (time === "none") {

        if (hour) {

            setTime("hour");

        } else if (day) {

            setTime("day");

        } else {

            setTime("older");

        }

    } else {

        if (hour) {

            listHeader = "Last Hour";

        } else if (day) {

            listHeader = "Today";

        } else {

            listHeader = "Older";

        }

    }

您沒有對標頭中的內容進行分組,因此返回它的方式并不是您想要的。以下代碼是有關如何執(zhí)行此操作的示例


import React from "react";

import "./App.css";


const useLoadData = () => {

    const data = [

        {id: "01", content: "content 1", time: "3 seconds ago"},

        {id: "02", content: "content 2", time: "4 minutes ago"},

        {id: "03", content: "content 3", time: "35 minutes ago"},

        {id: "04", content: "content 4", time: "3 hours ago"},

        {id: "05", content: "content 5", time: "4 days ago"}

    ];

    //item 1 should get a heading "Last hour"

    //item 2 and item 3 should not get a heading. They are also under "Last hour"

    //item 4 should get a heading "Today"

    return data;

};


function findListHeader(item) {

    let timeC = item.time


    let listHeader = "--";

    let hour = false;

    let day = false;

    if (timeC.includes("second") || timeC.includes("minute")) {

        hour = true;

    }

    if (timeC.includes("hour")) {

        day = true;

    }

    if (hour) {

        listHeader = "Last Hour";

    } else if (day) {

        listHeader = "Today";

    } else {

        listHeader = "Older";

    }

    return {header: listHeader, item};

}


export default function App() {

    const var1 = useLoadData();


    let headers = ["Last Hour", "Today", "Older"]

    const itemHeaders = var1.map((itemP) => findListHeader(itemP));


    const var2 = headers.map((header) =>

        <CommentOne

            key={header}

            header={header}

            items={itemHeaders

                .filter(itemWithHeader => itemWithHeader.header === header)

                .map(itemWithHeader => itemWithHeader.item)

            }

        />);


    return <div> {var2} </div>;

}


function CommentOne({header, items}) {

    let content = items.map(item => <p>{item.content}</p>)

    return (

        <div className="App">

            <h1>{header}</h1>

            {content}

        </div>

    );

}



查看完整回答
反對 回復 2022-12-22
  • 1 回答
  • 0 關注
  • 112 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號