亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何修復 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 關注
  • 135 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號