第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在 ReactJS 的基于類的組件中使用兩個(gè)組件

在 ReactJS 的基于類的組件中使用兩個(gè)組件

瀟瀟雨雨 2022-12-09 14:00:19
我正在嘗試使用兩個(gè)基于類的組件<Cities>和<Hospital>另一個(gè)組件。我收到一個(gè)錯(cuò)誤:-超過(guò)最大更新深度。當(dāng)組件在 componentWillUpdate 或 componentDidUpdate 中重復(fù)調(diào)用 setState 時(shí),就會(huì)發(fā)生這種情況。React 限制嵌套更新的數(shù)量以防止無(wú)限循環(huán)。我正在嘗試創(chuàng)建 4 個(gè)按鈕,這些按鈕將顯示那些帶有單擊按鈕的城市的醫(yī)院。import React,{ Component } from 'react';import Hospital from './hospital/hospital'import Cities from '../sidebarcomp/cities'class Hospitals extends Component {state = {    hospitals: [      { id: 1, status: false, name: 'Apollo Hospital', city: 'Chennai', bedtype1: 500, bedtype2: 800, bedtype3: 1300,bed1av: 60, bed2av: 40, bed3av: 20, },      { id: 2, status:false, name: 'Fortis Hospital', city: 'New Delhi', bedtype1: 600, bedtype2: 1000, bedtype3: 1400, bed1av: 60, bed2av: 40, bed3av: 20,  },      { id: 3, status: true, name: 'Tata Memorial Hospital', city: 'Mumbai', bedtype1: 400, bedtype2: 800, bedtype3: 1200, bed1av: 60, bed2av: 40, bed3av: 20,  },      { id: 4, status: true,name: 'Lilavati Hospital', city: 'Pune', bedtype1: 500, bedtype2: 900, bedtype3: 1300, bed1av: 60, bed2av: 40, bed3av: 20,  }    ],};render() {    return(      <React.Fragment>        <Cities         hospitals={this.state.hospitals}        />         {this.state.hospitals.map((hospital, index) => {        if(hospital.status){        return (        <Hospital          name={hospital.name}          bed1av={hospital.bed1av}          bed2av={hospital.bed2av}          bed3av={hospital.bed3av}          key={hospital.id}        />      )};        })}        </React.Fragment>    )}}export default Hospitals;
查看完整描述

3 回答

?
UYOU

TA貢獻(xiàn)1878條經(jīng)驗(yàn) 獲得超4個(gè)贊

問(wèn)題是您正在調(diào)用組件setState內(nèi)部的函數(shù)Cities。


您應(yīng)該做的是將nameChangedHandler作為道具傳遞給城市組件,以便它更新父組件(醫(yī)院)的狀態(tài)


class Hospitals extends Component {

    nameChangeHandler = (id) => {

        ....

    }

    ...

    <Cities nameChangedHandler={this.nameChangedHandler}/> 


在 Cities.js 中


class Cities extends Component {

   // remove nameChangeHandlerFunction


   render(){

    return(

      <div>

        <button onClick={this.props.nameChangedHandler(1)}>Chennai</button>

        <button onClick={this.props.nameChangedHandler(3)}>Mumbai</button>

        <button onClick={this.props.nameChangedHandler(4)}>Pune</button>

        <button onClick={this.props.nameChangedHandler(2)}>New Delhi</button>

      </div>

      )

    }


查看完整回答
反對(duì) 回復(fù) 2022-12-09
?
天涯盡頭無(wú)女友

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超9個(gè)贊

您必須使用如下處理程序:

nameChangedHandler?=?(id)?=>?()?=>?{


查看完整回答
反對(duì) 回復(fù) 2022-12-09
?
一只斗牛犬

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超2個(gè)贊

我想這可能是因?yàn)槟阍阡秩局杏?console.log 這樣的。如果你真的需要它,我建議你把它放在回報(bào)中。



查看完整回答
反對(duì) 回復(fù) 2022-12-09
  • 3 回答
  • 0 關(guān)注
  • 200 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)