1 回答
TA貢獻1807條經(jīng)驗 獲得超9個贊
您的代碼有一些問題。
首先,addroom您的狀態(tài)是構造函數(shù)中的字符串數(shù)組,但是在handleClick您設置它的方法this.setState({ addroom: htmlId })中,它將設置為 astring并且在string類型上map未定義函數(shù),因此出現(xiàn)錯誤。您應該向數(shù)組中添加一個項目,例如this.setState({ addroom: [...this.state.addroom, htmlId] })
其次,你handleClick不應該返回 jsx,如果你想為你的addroom數(shù)組渲染數(shù)據(jù),你應該在render方法中這樣做,并且handleClick你應該只修改addroom狀態(tài)變量。您可以像這樣實現(xiàn):
render() {
return (
<div>
<button onClick={this.handleClick}>Add</button>
{this.state.addroom.map((addroom) => (
<button>{addroom}</button>
))}
</div>
)
}
最后,您的addrom變量只是一個字符串數(shù)組,因此您無法訪問id,modifier和context該數(shù)組中的一個項目。
添加回答
舉報
