Javascript 在react类组件中未定义我的变量
我的变量没有定义,没有一个,为什么不呢?我错误地定义了什么? 我需要改变整个方法吗?或者我可以根据我写的内容修复一些东西吗 我在这里只放了相关的部分 谢谢 Addroom.jsJavascript 在react类组件中未定义我的变量,javascript,reactjs,Javascript,Reactjs,我的变量没有定义,没有一个,为什么不呢?我错误地定义了什么? 我需要改变整个方法吗?或者我可以根据我写的内容修复一些东西吗 我在这里只放了相关的部分 谢谢 Addroom.js import React, { Component } from 'react' export default class Addroom extends Component { constructor(props) { super(props) this.s
import React, { Component } from 'react'
export default class Addroom extends Component {
constructor(props) {
super(props)
this.state = {
category,
setCategory,
roomTypes:[kitchen, bathroom, bedroom],
yourRoom
}}
getSelectedRoomInCategory = () => {
return roomTypes.filter(
(yourRoom) => yourRoom.category === category
);
};
render() {
return (
<div>
<h1>Select Room Type!</h1>
<select onChange={(e) => setCategory(e.target.value)}>
<option value={kitchen}>{kitchen}</option>
<option value={bathroom}>{bathroom}</option>
<option value={bedroom}>{bedroom}</option>
</select>
</div>
)
}
}
再见,您的代码中有一些错误。让我们尝试像这样重写组件:
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>
)
}
}
现在,您已经在此.state.roomSelected中选择了房间。看起来像:
厨房、浴室、卧室里少了一些进口商品;
不必要地重写构造函数以设置初始状态;
错误引用setCategory解构this.state或将其完全引用为:this.state.setCategory;
未将state.setCategory设置为任何有效值,该值是否应属于状态,或者是否应从props传递?如果是,不要复制到状态;
未如上所述将state.category设置为任何有效值
可能缺少select上的值绑定;
现在,它的工作非常完美,所有相关变量都被导入并识别。 我使用了一种稍有不同的方法,使用下面写的方法,并做了一些修改 我在编写的函数和函数的调用之间建立了一个连接,并正确地定义了状态中的变量,因此现在所有相关变量都被导入和识别,一切正常。谢谢大家!
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>
)
}
}
什么样的全局变量是未定义的?错误在哪里?那些变量厨房,浴室。。。不是全局变量。例如,对象是一个全局变量,您应该阅读有关作用域的内容,您可能是对的,我将深入并慢慢学习,我应该小心使用该术语。。。非常感谢。我使用了这个方法,并且理解了当用户在下拉列表中选择时,为输入的值选择的类型和房间。非常感谢。你是对的,我明白你的部分意思,我的问题的答案也与你所写的有关,非常感谢!