为了账号安全,请及时绑定邮箱和手机立即绑定

如何修复 TypeError:this.props.changeCategory 不是

如何修复 TypeError:this.props.changeCategory 不是

qq_遁去的一_1 2022-07-15 09:28:56
我在代码 Sandbox IDE 中工作,组件 ProductList 有问题,我尝试在 App.js 中添加函数。我在组件 ProductList 中将函数作为道具传递,但出现错误,显示 TypeError:this.props.changeCategory is not a function。我将代码编写为“ onClick={() => this.props.changeCategory(category)}”我在 App.js 中将这个函数描述为changeCategory = category => {    this.setState({ currentCategory: category.categoryName });  };我的错误信息:    TypeError_this2.props.changeCategory is not a functiononClick/src/components/ProductList.js:21:40  18 | <ListGroup>  19 |   {this.state.categories.map(category => (  20 |     <ListGroupItem> 21 |       onClick={() => this.props.changeCategory(category)}     |                                ^  22 |       key={category.categoryId}  23 |     >  24 |       {" "}产品列表.jsimport React, { Component } from "react";import { ListGroup, ListGroupItem } from "reactstrap";import "../styles.css";class ProductList extends Component {  state = {    categories: [      { categoryId: 1, categoryName: "Beverages" },      { categoryId: 2, categoryName: "Sunny Side UP" },      { categoryId: 3, categoryName: "Whats sup" }    ]  };  render() {    return (      <div>        <h3> {this.props.uc} </h3>        <ListGroup>          {this.state.categories.map(category => (            <ListGroupItem              onClick={() => this.props.changeCategory(category)}              key={category.categoryId}            >              {" "}              {category.categoryName}{" "}            </ListGroupItem>          ))}        </ListGroup>        <form className="f">{this.props.currentCategory}</form>      </div>    );  }}
查看完整描述

2 回答

?
Qyouu

TA贡献1786条经验 获得超11个赞

您没有将函数 changeCategory 从 App.js 传递给 ProductList。要将函数作为道具传递,您应该在 App.js 文件中编写如下内容,但您传递的是状态值。

<pl changeCategory ={this.changeCategory} />


查看完整回答
反对 回复 2022-07-15
?
慕沐林林

TA贡献2016条经验 获得超9个赞

您在 App.js 中将错误的数据传递给产品列表组件的 changeCategory 道具。您必须为此道具提供功能参考。

 <Pl uc={titleCategory} changeCategory={this.changeCategory} />


查看完整回答
反对 回复 2022-07-15
  • 2 回答
  • 0 关注
  • 156 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号