Если дата равна сегодняшнему дню, добавьте значок. React JS и Ionic

Я пытаюсь добавить значок "Новый" example: <IonBadge color="primary">New</IonBadge> в <IonCardHeader> если (job.createdAt) равно "сегодня".

Как вы порекомендуете мне это сделать?

Дата как в, текущая дата, а не строка.

Я использую Ionic React v4.

Функция карты ниже.

Большое спасибо за понимание!!

function renderJobList(job) {
    return [{}].concat(job).map((job, i) =>
      i !== 0 ? (


            <LinkContainer key={job.jobId} to={`/jobinfo/${job.jobId}`}>
            <IonItemGroup>
            <IonCard>
              <IonCardHeader>
                <IonCardSubtitle><b>{(job.packageSelected)}</b></IonCardSubtitle>
                <IonCardTitle><h3>{(job.streetAddress)} {(job.city)} {(job.state)} {(job.zipCode)}</h3></IonCardTitle>
              </IonCardHeader>

              <IonCardContent>
                <p><b> Start Date: </b> {parseISO(job.startDate).toLocaleString()}</p>
               <p><b> Created At: </b> {new Date(job.createdAt).toLocaleString()}</p>
              </IonCardContent>
            </IonCard>
            </IonItemGroup>
            </LinkContainer>

2 ответа

Решение

Попробуйте добавить это:

let today = new Date(new Date().getFullYear(),new Date().getMonth() , new Date().getDate())

а затем используйте:

<IonCardHeader>{job.createdAt == today ? (<IonBadge color="primary">New</IonBadge>) : null}</IonCardHeader>

Вы можете создать объект Date, а затем сопоставить строку даты

const today = new Date().toISOString().slice(0, 10);
const isToday = new Date(job.createdAt).toISOString().slice(0, 10) == today;
// implement your logic based on isToday boolean
Другие вопросы по тегам