【发布时间】:2020-04-24 09:10:11
【问题描述】:
我在读取 React 组件中的对象值时遇到问题。我正在尝试读取和写入“recordCount”,但我收到错误消息:
TypeError:无法读取未定义的属性“recordCount”。
知道为什么会抛出错误吗?
import React, { Component } from 'react';
export class UrunlerComponentList extends Component {
displayName = UrunlerComponentList.name
constructor(props) {
super(props);
this.state = { urunler_: [], recordCount: 0, loading: true };
}
componentDidMount() {
fetch('http://localhost:55992/api/search/arama?q=&PageIndex=1')
.then(response => response.json())
.then(data => {
this.setState({ urunler_: data.products, recordCount: data.RecordCount, loading: false });
});
}
static renderUrunlerTable(urunler_) {
return (
<div>
<header className="mb-3">
<div className="form-inline">
<strong className="mr-md-auto"> {recordCount} Items found </strong>
</div>
</header>
{
urunler_.map(urun =>
<article className="card card-product-list">
...............................
...............................
...............................
</article>
)}
</div>
);
}
render() {
let contents = this.state.loading
? <p><em>Loading...</em></p>
: UrunlerComponentList.renderUrunlerTable(this.state.urunler_);
return (
<div>
{contents}
</div>
);
}
}
【问题讨论】:
-
哪一行导致错误?
-
以下答案之上的其他建议答案,为什么您可能不想在
constructor中致电fetch:stackoverflow.com/questions/55182526/… -
错误抛出在底线,我使用 {this.state.recordCount}
-
我添加了所有源代码以供进一步调查
-
现在哪一行包含错误?鉴于
renderUrunlerTable的实现发生了变化?
标签: javascript reactjs