&引用;无法读取属性';地图';“未定义”的定义;react和node.js

&引用;无法读取属性';地图';“未定义”的定义;react和node.js,node.js,reactjs,Node.js,Reactjs,你好。目前,我尝试将购物中心克隆作为react和node.js进行实践 我面临着我附加的那个问题。我复制的cos错误似乎与教程中的错误不一样,但node.js(localhost:5000)有问题 我尽力想把它修好,但不知道如何接近。请帮帮我 可能是一个填充道具的异步请求。图像没有返回响应。 为props.images.map函数添加前缀props.images&& 只有当道具存在时,地图才会出现。这样地 {props.images&&props.image.map(image=>..好的,这通

你好。目前,我尝试将购物中心克隆作为react和node.js进行实践

我面临着我附加的那个问题。我复制的cos错误似乎与教程中的错误不一样,但node.js(localhost:5000)有问题

我尽力想把它修好,但不知道如何接近。请帮帮我


可能是一个填充道具的异步请求。图像没有返回响应。 为props.images.map函数添加前缀props.images&& 只有当道具存在时,地图才会出现。这样地
{props.images&&props.image.map(image=>..

好的,这通常是一个
变量
在代码执行期间具有不同的
值的问题。为了再次保护这一点,建议确保在使用
props
或特定变量之前对其进行定义

//备选方案-1
功能图像滑块(道具){
返回props.images&&(
{props.images.map((图像,索引)=>
// ...
)}
// ...
);
};

//备选方案2
功能图像滑块(道具){
返回道具。图像(
{props.images.map((图像,索引)=>
// ...
)}
// ...
):null;
};
关键的是,下面是
return()
语句中发生的情况

  • 备选方案-1(隐式):
    • 第二部分,
      仅在第一部分为
      true

      时才渲染
    • 在核心JavaScript中,
      undefined
      相当于
      false
      所以
      props。只有当
      images
      !undefined
      时,images
      才是
      true
      (未定义;换句话说,images是定义的)
  • 备选方案2(明确):
    • 这一个更直接,只要
      props.image
      未定义的
      ,我们返回
      null

      (请记住,有效的react组件必须返回一些内容。如果没有,则返回
      null
    • 仅当定义了
      props.images
      时,我们才返回
    这些添加的检查确保您的代码永不中断,在这种情况下,您的
    map()
    将始终对定义的变量(props.images)进行调用


    .

    看起来您正试图对尚未从axios请求中接收到的数据调用map函数。您应该添加一些逻辑,以便依赖于请求数据的任何组件仅在退出时渲染,使用三元运算符即可轻松完成


    看起来很多组件(包括imageSlider)都依赖于你在应用程序第54行调用renderCards函数时试图访问的数据。

    你控制过你的道具吗?什么是
    props
    ,什么是
    props。图像
    你能显示一个控制台吗输出?@VyasArpit for image是空字符串。@Red Baron我将上传一个新的。谢谢!它可以工作,但在显示图像为登录页时仍然不起作用。不知道该怎么办请解释一下“它在显示图像为登录页时不起作用”的意思。我不明白那部分。谢谢。