首页 > 解决方案 > Node.js / React - 无法读取未定义的属性“地图”

问题描述

我是第一次学习 React/Node.js。尝试访问我的应用程序时出现以下错误:

(节点:10188)UnhandledPromiseRejectionWarning:TypeError:无法读取未定义的属性“地图”

错误在以下代码中:

import Image from '../models/Image';

export default {
  render(image: Image) {
    return {
      id: image.id,
      url: `http://localhost:3333/uploads/${image.path}`,
    };
  },

  renderMany(images: Image[]) {
    return images.map((image) => this.render(image));
  },
};

显然,问题出在“images.map”中,但我不知道如何解决它。

正在从此文件导入“图像”组件:

import { Entity, Column, PrimaryGeneratedColumn, ManyToOne, JoinColumn } from 'typeorm';
import Orphanage from './Orphanage';

@Entity('images')
export default class Image {
    @PrimaryGeneratedColumn('increment')
    id: number;

    @Column()
    path: string;

    @ManyToOne(()=> Orphanage, orphanage => orphanage.images)
    @JoinColumn({ name: 'orphanage_id' })
    orphanage: Orphanage;
}

有谁知道我该如何解决这个问题?

谢谢!

标签: node.jsreactjs

解决方案


去看看在哪里renderMany()被调用并确保它被传递了一个数组。此错误表明当它需要一个数组时,您没有向它传递任何东西。

这段代码中唯一有 a 的地方.map()是 in renderMany()。因此,如果这就是问题所在,那么我们需要查看您调用的位置renderMany()并查看传递给它的内容。renderMany()如果这是错误的根源,那么当它期待一个数组时,它看起来好像没有传递任何东西。


推荐阅读