如标题中所述,我遇到此错误,无法弄清原因。 我有一个名为SubDropdown的子组件,如下所示:
class SubDropdown extends Component{
constructor(props) {
super(props);
this.dropdownCounter = this.dropdownCounter.bind(this);
}
dropdownCounter() {
let dataofDropdowns = [];
let elements = [];
return elements;
}
render() {
return(
<div>
{ this.dropdownCounter() }
</div>
)
}
}
export default SubDropdown;
我已将其简化为查找错误。我将其绑定到this.dropdownCounter,如上所示。
然后我将网页加载到父组件所在的页面。我收到此错误:Uncaught (in promise) TypeError: _this.dropdownCounter is not a function
知道我在做什么错吗?
编辑:共享父组件:
render() {
return (
<div className="add-to-cart">
<div className="row">
<div className="col-sm-6">
<CarouselPhotos />
</div>
<div className="col-sm-6">
<Form>
<div>
<Dropdown
title="Size"
arrayId="selectProduct"
list={this.state.selectProduct}
resetThenSet={this.resetThenSet}
/>
</div>
<div>
{this.state.isLoading ? (
<Loader
type="ThreeDots"
color="#00BFFF"
height="100"
width="100"
/>
) : (
<SubDropdown productInfo={this.state}/>
)}
</div>
</Form>
</div>
</div>
</div>
) }
}
编辑:在第一个渲染上它可以工作,但是我有一个与之关联的下拉列表,因此当它尝试调用{this.dropdownCounter()}时,是我收到错误消息。
添加console.log(this.dropdownCounter);在dropdownCounter()内部可以得到以下信息:
dropdownCounter() {
var result = Object.entries(this.props.productInfo);
var dataofDropdowns = [];
var elements = [];
console.log(this.dropdownCounter);
选择错误后的第二次运行,即出现错误:
Uncaught TypeError: _this.dropdownCounter is not a function
The above error occurred in the <App> component:
in App