javascript - TypeError: Kan ikke læse egenskaber af undefined (læser 'name') i Nextjs ved implementering til Vercel


Jeg har fået den nedenstående fil, som klager over TypeError.

Jeg forsøger at implementere applikationen i Vercel ved hjælp af Nextjs.

TypeError: Cannot read properties of undefined (reading 'name')

Venligst find koden nedenfor

import { RawNodeDatum } from 'react-d3-tree/lib/types/common';

interface nodeBFSInterface {
  name: string;
  tree: RawNodeDatum | RawNodeDatum[];
  newNodeName: string;
  attributes: {
    type: string;
    url?: string | undefined;
    weight?: number | undefined;
  };
}

function nodeBFS(nodeBFSInterface: nodeBFSInterface) {
  const queue: RawNodeDatum[] = [];
  queue.unshift(nodeBFSInterface.tree as RawNodeDatum);

  //console.log("before while loop", queue);
  while (queue.length > 0) {
    const curNode = queue.pop();
    //console.log("inside while loop", curNode);
    if (
      curNode!.name === nodeBFSInterface.name &&
      nodeBFSInterface.attributes?.type === 'landerRotator'
    ) {
      try {
        curNode!.children!.push({
          name: (nodeBFSInterface.newNodeName)?nodeBFSInterface.newNodeName: '',
          attributes: { type: nodeBFSInterface.attributes.type },
          children: [],
        });
      } catch (err) {
        console.log(err);
      }

      return { ...nodeBFSInterface.tree };
    } else if (
      curNode!.name === nodeBFSInterface.name &&
      nodeBFSInterface.attributes?.type === 'landerParent'
    ) {
      try {
        curNode!.children!.push({
          name: (nodeBFSInterface.newNodeName)?nodeBFSInterface.newNodeName : '',
          attributes: {
            type: nodeBFSInterface.attributes.type,
            url: nodeBFSInterface.attributes.url
              ? nodeBFSInterface.attributes.url
              : '',
            weight: nodeBFSInterface.attributes.weight
              ? nodeBFSInterface.attributes.weight
              : '',
          },
          children: [],
        });
      } catch (err) {
        console.log(err);
      }

      return { ...nodeBFSInterface.tree };
    }

    const len = curNode!.children!.length;
    for (let i = 0; i < len; i++) {
      queue.unshift(curNode!.children![i]);
    }
  }
}

export default nodeBFS;

Jeg har også prøvet nedenstående, men får stadig den samme fejl. Jeg tjekkede, om værdien ikke er null, og hvis den er null, sætter jeg den til en tom streng.

name: (nodeBFSInterface.newNodeName)?nodeBFSInterface.newNodeName: '' 

Venligst rådgiv om dette.