亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

TypeError: props.items.map 不是函數

TypeError: props.items.map 不是函數

繁花不似錦 2023-03-03 15:22:34
無論我做什么,我都會不斷收到同樣的錯誤。請給我最簡單的解決方案。import { Component } from "react";import React from "react";const NewsItem = (props) => {  //   console.log(props.item);    const item = props.items.map((e) => {      return e.id;    });  console.log(props.items);  // console.log(props.items.title)  return <div>{item}</div>;};
查看完整描述

4 回答

?
達令說

TA貢獻1821條經驗 獲得超6個贊

import { Component } from "react";

import React from "react";


const NewsItem = ({ items = [], ...props }) => {

  //   console.log(props.item);

    const item = items.map((e) => {

      return e.id;

    });

  console.log(items);

  // console.log(props.items.title)

  return <div>{item}</div>;

};

顯然你的錯誤是在這個組件的調用者中,上面的代碼片段將用空數組替換你的道具中的任何未定義值。要修復錯誤,您需要修復調用者或處理項目不是數組的事實,例如:


import { Component } from "react";

import React from "react";


const NewsItem = ({ items = [], ...props }) => {

 

    if (!Array.isArray(items)) return <span>No items found</span>;

    const item = items.map((e) => {

      return e.id;

    });

  console.log(items);

  // console.log(props.items.title)

  return <div>{item}</div>;

};


查看完整回答
反對 回復 2023-03-03
?
當年話下

TA貢獻1890條經驗 獲得超9個贊

嘗試使用 React PropTypesitem在其中為道具使用所需的架構定義。這將幫助編譯器識別 prop 的類型。

ComponentName.propTypes = {
  items: PropTypes.arrayOf(arrayOf)
};


查看完整回答
反對 回復 2023-03-03
?
慕斯王

TA貢獻1864條經驗 獲得超2個贊

const NewsItem = ({ items = [] }) => {

    const itemsList = items.map((item) => item.id);

    return <div> { itemsList.join(', ') } </div>;

};


查看完整回答
反對 回復 2023-03-03
?
陪伴而非守候

TA貢獻1757條經驗 獲得超8個贊

您收到此錯誤是因為當您渲染NewsItem道具時items未提供或它提供的值不是數組。為避免這種情況,您可以利用propTypesitems并在渲染組件時指定道具的默認值NewsItem而不傳遞道具項目。

const NewsItem = (props) => {

    // other code goes here

    return <div></div>

}


NewsItem.defaultProps = {

    items: []

}


查看完整回答
反對 回復 2023-03-03
  • 4 回答
  • 0 關注
  • 161 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號