#javascript #node.js #reactjs #next.js
Вопрос:
Я не хочу создавать еще одну таблицу под названием друзья в страпи и снова связывать ее с кодом visual studio, поэтому у меня есть таблица персонажей для всей команды и друзей. Поэтому я хочу вводить только новые данные в символы , но фильтровать их, чтобы знать, кто из них друг или команда. Поэтому я попытался создать функцию, чтобы он знал, кто из вас друг, которую я определил с помощью, если у вас есть только дата начала вашей команды, если у вас есть как дата начала, так и дата окончания, вы друг. Исходный код в файле следующий:
import Head from 'next/head'
import Layout from '../../components/Layout'
import styles from '../../styles/Home.module.css'
import fetchFromCMS from '../../lib/service';
import React, { Component } from 'react';
import "react-responsive-carousel/lib/styles/carousel.min.css"; // requires a loader
import { Carousel } from 'react-responsive-carousel';
export async function getStaticProps() {
const characters = await fetchFromCMS('characters');
return {
props: { characters},
revalidate: 1,
};
}
function sortByDate(a , b){
return new Date(a.StartDate) - new Date(b.StartDate);
}
function isFirend(a ){
var bool = true;
new Date(a.EndDate) != null? bool = true : bool= false;
return bool ;
}
const charactersItem = ({ characters }) => {
return (
<Layout>
<div className={styles.container}>
<Head>
<title>Characters</title>
</Head>
<main className={styles.main} id="page-top">
{/*///Team*/ }
<section className="bg-light page-section">
<div className="container">
<div className="row">
<div className="col-lg-12 text-center">
<h2 className="section-heading text-uppercase">Our Amazing Team</h2>
<h3 className="section-subheading text-muted">Check out our fantastic team.</h3>
</div>
</div>
<div className="row">
{characters.sort().map((character) => (
<div className="col-sm-4">
<a href={`/Team/${character.Slug}`}>
<div className="team-member">
<img className="mx-auto rounded-circle" src={character.Image.url} alt=""></img>
<h4 className="text-muted">{character.PaineapleName}</h4>
</div>
</a>
</div>
))
}
</div>
</div>
</section>
{/*//friends*/}
{ <section className="bg-light page-section">
<div className="container">
<div className="row">
<div className="col-lg-12 text-center">
<h2 className="section-heading text-uppercase">Our Amazing Friends</h2>
<h3 className="section-subheading text-muted">Check out our fantastic team.</h3>
</div>
</div>
<div className="row">
{characters.sort(character.EndDate).map((character) => (
<div className="col-sm-4">
<a href={`/Team/${character.Slug}`}>
<div className="team-member">
<img className="mx-auto rounded-circle" src={character.Image.url} alt=""></img>
<h4 className="text-muted">{character.PaineapleName}</h4>
</div>
</a>
</div>
))
}
</div>
</div>
</section> }
</main>
</div>
</Layout>
)
};
export default charactersItem;
Результаты не такие, как я ожидал, потому что и ошибка, которую он показывает, вот эта:
Я пробую другие решения, и единственный способ, которым я сделал что-то рядом с целью, которую он дублировал, я имею в виду, что он дублировал информацию вместо фильтра, который является другом.
Ответ №1:
character.EndDate не является функцией сравнения. Возможно, проблема в символах, но вы должны изолировать каждую проблему одну за другой для устранения неполадок.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
Комментарии:
1. когда я захожу в консоль, там написано «не определено», и я не определяю его значение, это еще одна проблема, с которой я сталкиваюсь с этим решением.
2. Так что это не поиск массива, который я притворяюсь