Reactjs 在React上解析我的数据时遇到问题

Reactjs 在React上解析我的数据时遇到问题,reactjs,react-big-calendar,Reactjs,React Big Calendar,upcomingWork包含我的API数据。我想在这里插入一个数组,在我的日历上显示它,下面是我想要的结构化数据示例 实际上,upcomingWork包含很多属性,但我只想让这三个属性显示在我的日历上 const data = upcomingWork.map(u => u.id && u.title && u.created_at); 我想从数据创建的数组示例 const events = [ { id: 1, tit

upcomingWork
包含我的API数据。我想在这里插入一个数组,在我的日历上显示它,下面是我想要的结构化数据示例

实际上,
upcomingWork
包含很多属性,但我只想让这三个属性显示在我的日历上

const data = upcomingWork.map(u => u.id && u.title && u.created_at);
我想从
数据创建的数组示例

  const events = [
    {
      id: 1,
      title: 'My event',
      start: new Date(2020, 4, 8, 10, 0),
      end: new Date(2020, 4, 8, 14, 0),
    },
  ];

如果所有值都为真,那么您拥有的映射将简单地将每个值设置为真;如果其中任何一个值为假,那么将每个值设置为假。如果要提取这3个值,只需将映射更改为:

const data = upcomingWork.map(({id, title, created_at}) => ({id, title, created_at}))

如果所有值都为真,那么您拥有的映射将简单地将每个值设置为真;如果其中任何一个值为假,那么将每个值设置为假。如果要提取这3个值,只需将映射更改为:

const data = upcomingWork.map(({id, title, created_at}) => ({id, title, created_at}))

无论您返回什么,都不会提供任何所需的数据。 我想你误解了数组的映射方法

相反,您应该像以下那样使用地图:

const data = upcomingWork.map(u => {
             const {id, title, created_at} = u;
                 return {
                   id,
                   title,
                   created_at
                 }
              });

无论您返回什么,都不会提供任何所需的数据。 我想你误解了数组的映射方法

相反,您应该像以下那样使用地图:

const data = upcomingWork.map(u => {
             const {id, title, created_at} = u;
                 return {
                   id,
                   title,
                   created_at
                 }
              });

您的
upcomingWork.map
根本不创建对象,因此它没有机会创建预期的数据。相反,您可以将
u
对象的适当属性映射到您创建的新对象中的新关键帧

const events = upcomingWork.map(u => ({
    id: u.id,
    title: u.title,
    start: u.created_at,
    end: u.end    //change the u.end to whatever property you have in your data
}));

(新对象必须包装在()中,以确保JS将其解释为值,而不是函数体)

您的
upcomingWork.map根本不创建对象,因此它没有机会创建预期的数据。相反,您可以将
u
对象的适当属性映射到您创建的新对象中的新关键帧

const events = upcomingWork.map(u => ({
    id: u.id,
    title: u.title,
    start: u.created_at,
    end: u.end    //change the u.end to whatever property you have in your data
}));

(新对象必须包装在()中,以确保JS将其解释为一个值,而不是一个函数体)

只是一个跟进,所有答案都是正确的,但我遵循以下代码。我可以使用
Moment
格式化日期,然后将其传递到我的数组中吗。但是start只给我一个
未定义的值
const data=upcomingWork.map(u=>({id:u.id,title:u.title,start:Moment(u.created_at.format('yyyyy-mm-dd-hh-m')),end:u.created_at,});此时创建的对象是否已经存在?如果不是,format会调用字符串上未定义的函数吗<代码>时刻(在“yyyy-mm-dd-hh-mm”创建)
将是一种方法,如果
创建是一个字符串,只是一个跟进,您的所有答案都是正确的,但我遵循此代码。我可以使用
Moment
格式化日期,然后将其传递到我的数组中吗。但是start只给我一个
未定义的值
const data=upcomingWork.map(u=>({id:u.id,title:u.title,start:Moment(u.created_at.format('yyyyy-mm-dd-hh-m')),end:u.created_at,});此时创建的对象是否已经存在?如果不是,format会调用字符串上未定义的函数吗<代码>时刻(u.created_at,“yyyy-mm-dd-hh-mm”)如果
created_at
是一个字符串,那么它就是这样做的