3 回答

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>
)
}

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超9個(gè)贊
您必須使用如下處理程序:
nameChangedHandler?=?(id)?=>?()?=>?{

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超2個(gè)贊
我想這可能是因?yàn)槟阍阡秩局杏?console.log 這樣的。如果你真的需要它,我建議你把它放在回報(bào)中。
添加回答
舉報(bào)