3 回答

TA貢獻1802條經驗 獲得超6個贊
好像:
你在那里缺少一些進口產品(廚房、浴室、臥室);
不必要地覆蓋構造函數來設置初始狀態;
錯誤引用 setCategory(解構 this.state 或將其完全引用為:this.state.setCategory);
沒有將 state.setCategory 設置為任何有效值(這甚至應該屬于狀態還是應該從道具傳遞下來?如果是這樣,請不要復制到狀態);
沒有將 state.category 設置為任何有效值(如上所述)
可能缺少對選擇的值綁定;

TA貢獻1799條經驗 獲得超9個贊
再見,您的代碼中有一些錯誤。讓我們嘗試像這樣重寫組件:
import React, { Component } from 'react'
export default class Addroom extends Component {
constructor(props) {
super(props)
this.state = {
roomTypes:["kitchen", "bathroom", "bedroom"],
roomSelected: ''
}}
setCategory = (roomSel) => {
this.setState({roomSelected : roomSel});
};
render() {
return (
<div>
<h1>Select Room Type!</h1>
<select onChange={(e) => setCategory(e.target.value)}>
this.state.roomTypes.map(type => {
<option value={type}>{type}</option>
})
</select>
</div>
)
}
}
現在您已經在 中選擇了房間this.state.roomSelected。

TA貢獻1829條經驗 獲得超9個贊
現在它的作品很完美,所有相關variables的都被導入和識別。我使用了一種稍微不同的方法,使用下面的方法稍作改動。
我在函數的寫入function和調用之間建立了聯系,return并正確定義了variablesin 狀態,所以現在所有相關variables的都被導入和識別,一切正常。謝謝你們!
import React, { Component } from 'react'
export default class Addroom extends Component {
constructor(props) {
super(props)
this.state = {
roomTypes:["kitchen", "bathroom", "bedroom"],
roomSelected: '',
roomSel:''
}}
setCategory = (roomSel) => {
this.setState({roomSelected : roomSel});
};
render() {
return (
<div>
<h4>Select Room Type</h4>
<select onChange={(e) => this.setCategory(e.target.value)}>
{this.state.roomTypes.map((type) =>
<option value={type}>{type}</option>
)}
</select><br/>
</div>
)
}
}
添加回答
舉報