Javascript 为什么它总是说用户未定义?
我正在编写一个函数,该函数调用一个prop,该prop调用数组中的对象,它不断抛出以下错误: TypeError:undefined不是函数(靠近“…robots.map…”) 我想这是关于用户的,但我不知道。任何帮助都将不胜感激这是我的代码 正在对此文件CardList.js引发错误Javascript 为什么它总是说用户未定义?,javascript,reactjs,jsx,Javascript,Reactjs,Jsx,我正在编写一个函数,该函数调用一个prop,该prop调用数组中的对象,它不断抛出以下错误: TypeError:undefined不是函数(靠近“…robots.map…”) 我想这是关于用户的,但我不知道。任何帮助都将不胜感激这是我的代码 正在对此文件CardList.js引发错误 import React from 'react'; import Card from './Card'; const CardList = ({ robots }) =>{
import React from 'react';
import Card from './Card';
const CardList = ({ robots }) =>{
//the line under this is the one throwing the error
const cardComponent = robots.map((user, i)=>{
return <Card id={robots[i].id} name={robots[i].name} email= {robots[i].email} />
});
return(
<div>
{cardComponent}
</div>
);
}
export default CardList;
这是index.js文件
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import CardList from './CardList';
import { robots } from './robots';
import 'tachyons';
import * as serviceWorker from './serviceWorker';
ReactDOM.render(<CardList robots={'robots'}/>, document.getElementById('root'));
serviceWorker.unregister();
从“React”导入React;
从“react dom”导入react dom;
导入“./index.css”;
从“/CardList”导入卡片列表;
从“./robots”导入{robots};
输入‘超光速子’;
将*作为serviceWorker从“/serviceWorker”导入;
ReactDOM.render(,document.getElementById('root'));
serviceWorker.unregister();
这里有一个输入错误:
ReactDOM.render(,document.getElementById('root')代码>
应该是:
ReactDOM.render(,document.getElementById('root');
,其中robots
是要导入的变量的名称,而不是字符串。这里有一个输入错误:
ReactDOM.render(,document.getElementById('root')代码>
应该是:
ReactDOM.render(,document.getElementById('root');
,其中robots
是要导入的变量的名称,而不是字符串。传递的是字符串('robots'
),而不是从'./robots'
导入的数组(robots
)。
所以,map
函数存在于数组的原型上,但不存在于字符串的原型上,这就是它抛出错误的原因
为了解决这个问题
应替换为
您传递的是字符串('robots'
),而不是从'./robots'
导入的数组(robots
)。
所以,map
函数存在于数组的原型上,但不存在于字符串的原型上,这就是它抛出错误的原因
为了解决这个问题
应替换为
类型错误:未定义不是一个函数
表示您试图将某个东西作为函数执行,但实际上它是未定义的。如果抛出此错误的是robots.map()
行,那么robots.map
出于某种原因是未定义的
。CardList robots={'robots'}
我不擅长JSX,但这会传递一个包含robots
对象的对象吗?因为在我看来它会创建一个{robots:“robots”}
对象,所以在卡片列表中
通过({robots})=>{
解构参数后,您会得到字符串“robots”
作为变量的内容。TypeError:undefined不是函数
表示您试图将某个东西作为函数执行,但实际上它是未定义的
抛出此错误的行,然后robots.map
由于某种原因是未定义的
。卡片列表robots={'robots'}
我不擅长JSX,但这会传递一个包含robots
对象的对象吗?因为在我看来,它会创建一个{robots:'robots}
对象,因此在卡片列表中
通过({robots})=>{
解构参数后,您将得到字符串“robots”
作为变量的内容。
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import CardList from './CardList';
import { robots } from './robots';
import 'tachyons';
import * as serviceWorker from './serviceWorker';
ReactDOM.render(<CardList robots={'robots'}/>, document.getElementById('root'));
serviceWorker.unregister();