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>
)
}
}
添加回答
举报