无法读取未定义反应的属性“长度”
2018-07-09
39499
TypeError: Cannot read property 'length' of undefined
这就是我运行 React 应用时编译器显示的内容。我需要用它做什么?
request = (start,end) => {
if(this.state.teams.length < 1){
axios.get(`${ URL }/teams`)
.then( response => {
this.setState({
teams:response.data
})
})
}
axios.get(`${ URL }/articles?_start=${start}&_end=${end}`)
.then( response => {
this.setState({
items:[...this.state.items,...response.data]
})
})
}
3个回答
我建议首先检查 props 是否未定义或为空甚至已声明。
例如:-
const card = props && props.cards && props.cards.length > 0 ?
props.cards.map((card, i) => {
return (
<card >
)
}) : '';
然后返回您的卡。
Hasan Zahran
2020-04-08
我建议在尝试获取长度之前检查“teams”是否未定义。
if (value === undefined) {
// value is undefined
}
Bekah Saugen
2018-07-09
确保组件状态的团队值使用如下数组值初始化:
class MyComponent extends React.Component {
state: {
teams: [],
};
}
thomas.winckell
2018-07-09