Javascript 无法读取属性道具
我有一个错误,其中有一个未捕获类型的错误Javascript 无法读取属性道具,javascript,reactjs,Javascript,Reactjs,我有一个错误,其中有一个未捕获类型的错误 Uncaught TypeError: Cannot read property 'name' of undefined at TeamList.render (Team-list.jsx:10) at ReactCompositeComponent.js:796 at measureLifeCyclePerf (ReactCompositeComponent.js:75) at ReactCompositeCompone
Uncaught TypeError: Cannot read property 'name' of undefined
at TeamList.render (Team-list.jsx:10)
at ReactCompositeComponent.js:796
at measureLifeCyclePerf (ReactCompositeComponent.js:75)
at ReactCompositeComponentWrapper._renderValidatedComponentWithoutOwnerOrContext (ReactCompositeComponent.js:795)
at ReactCompositeComponentWrapper._renderValidatedComponent (ReactCompositeComponent.js:822)
at ReactCompositeComponentWrapper.performInitialMount (ReactCompositeComponent.js:362)
at ReactCompositeComponentWrapper.mountComponent (ReactCompositeComponent.js:258)
at Object.mountComponent (ReactReconciler.js:46)
at ReactDOMComponent.mountChildren (ReactMultiChild.js:238)
at ReactDOMComponent._createInitialChildren (ReactDOMComponent.js:697)
现在我正在处理两个文件,分别是App.jsx和Team-list.jsx,但我无法确定是哪个文件导致了错误。在我的getPlayers
方法中,我返回一个对象数组,该数组由renderPlayers
使用并由组件渲染。这发生在App.jsx
import React, { Component } from 'react';
import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider';
import RaisedButton from 'material-ui/RaisedButton';
import AppBar from 'material-ui/AppBar';
import { List } from 'material-ui/List';
import Divider from 'material-ui/Divider';
import Player from './Player.jsx';
import TeamList from './Team-list.jsx';
import TeamStats from './Team-stats.jsx';
export default class App extends Component {
getPlayers(){
return [
{
_id: 1,
name: "Emmanuel Francisco",
ballManipulation: 2,
kickingAbilities: 3,
passingAbilities: 2,
duelTackling: 2,
fieldCoverage: 2,
blockingAbilities: 2,
gameStrategy: 2,
playmakingRisks: 2,
},
{
_id: 2,
name: "Tinker Tailor",
ballManipulation: 1,
kickingAbilities: 1,
passingAbilities: 1,
duelTackling: 2,
fieldCoverage: 2,
blockingAbilities: 2,
gameStrategy: 2,
playmakingRisks: 2,
},
{
_id: 3,
name: "Soldier Spy",
ballManipulation: 2,
kickingAbilities: 3,
passingAbilities: 2,
duelTackling: 2,
fieldCoverage: 2,
blockingAbilities: 2,
gameStrategy: 1,
playmakingRisks: 1,
},
];
}
renderPlayers(){
return this.getPlayers().map((player) => (
<TeamList key={player._id} player={player} />
));
}
render(){
return (
<MuiThemeProvider>
<div className="container">
<AppBar
title="Soccer Application" iconClassNameRight="muidocs-icon-navigation-expand-more" showMenuIconButton={false} />
<div className="row">
<div className="col s12 m7"> <Player /> </div>
<div className="col s12 m5">
<Divider/>
<List>
{this.renderPlayers()}
</List>
<Divider/>
</div>
<div className="col s12 m5"> <TeamList /> </div>
</div>
</div>
</MuiThemeProvider>
)
}
}
请帮助我确定错误的原因。谢谢。错误的原因是线路
</div>
<div className="col s12 m5"> <TeamList /> </div>
</div>
非常感谢。我刚刚意识到这个组件应该被命名为其他的东西。因为我在renderPlayer方法上返回带有道具的团队列表,我也这么想。没问题,很乐意帮忙:)
</div>
<div className="col s12 m5"> <TeamList /> </div>
</div>
</div>
<div className="col s12 m5"> <TeamList player={this.getPlayers[0]}/> </div>
</div>