首页 > 解决方案 > 我不想创建另一个数据库表来过滤谁是团队谁是朋友,请帮帮我

问题描述

我不想在strapi 创建另一个名为friends 的表并将其再次链接到Visual Studio 代码,因此我为所有团队和朋友提供了一个Characters 表。所以我只想在 Characters 输入新数据,但过滤它以知道哪个是朋友或团队。因此,我尝试创建一个函数,让它知道哪个是朋友,如果你有开始日期和结束日期你是朋友,我已经确定你是否只有开始日期你的团队。该文件的源代码是这样的:

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;

结果不是我所期望的,因为它显示的错误是这个:在此处输入图像描述

我尝试了其他解决方案,并且我在它复制的目标附近做了一些事情的唯一方法,我的意思是,它复制了信息而不是过滤哪个是朋友。

标签: javascriptnode.jsreactjsnext.js

解决方案


character.endDate 不是比较函数。字符可能是问题,但您应该一一隔离每个问题以进行故障排除。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort


推荐阅读