Javascript 如何在React中获取当前状态?
代码:Javascript 如何在React中获取当前状态?,javascript,reactjs,Javascript,Reactjs,代码: getInitialState: function() { return { name: "", ingredients: "" } }, handleSubmit: function() { var newRecipe = { name: this.state.name, ingredients: this.state.ingredien
getInitialState: function() {
return {
name: "",
ingredients: ""
}
},
handleSubmit: function() {
var newRecipe = {
name: this.state.name,
ingredients: this.state.ingredients
};
this.props.handleAdd(newRecipe);
this.handleClose();
},
handleNameChange: function () {
this.setState({
name: event.target.value
});
},
handleIngredientsChange: function () {
this.setState({
ingredients: event.target.value
});
},
render: function () {
return (
<div>
<h3>Name</h3>
<input value={this.state.name} onChange={this.handleNameChange}></input>
<h3>Ingredients</h3>
<textarea value={this.state.ingredients} onChange={this.handleIngredientsChange}></textarea>
</div>
)
}
getInitialState:function(){
返回{
姓名:“,
成分:“
}
},
handleSubmit:function(){
var newRecipe={
名称:this.state.name,
配料:这个。状态。配料
};
这个.props.handledd(新配方);
这个;
},
handleNameChange:函数(){
这是我的国家({
名称:event.target.value
});
},
handleIngredientsChange:函数(){
这是我的国家({
成分:事件、目标、价值
});
},
渲染:函数(){
返回(
名称
成分
)
}
情况:
getInitialState: function() {
return {
name: "",
ingredients: ""
}
},
handleSubmit: function() {
var newRecipe = {
name: this.state.name,
ingredients: this.state.ingredients
};
this.props.handleAdd(newRecipe);
this.handleClose();
},
handleNameChange: function () {
this.setState({
name: event.target.value
});
},
handleIngredientsChange: function () {
this.setState({
ingredients: event.target.value
});
},
render: function () {
return (
<div>
<h3>Name</h3>
<input value={this.state.name} onChange={this.handleNameChange}></input>
<h3>Ingredients</h3>
<textarea value={this.state.ingredients} onChange={this.handleIngredientsChange}></textarea>
</div>
)
}
此.state.name
未定义。为什么?
这一定与我当前的setState实现有关
我正在学习如何反应,所以可能会有一些明显的错误 我认为问题在于
handleNameChange
和handleIngredientsChange
方法缺少event
参数:
handleNameChange: function () {
this.setState({
name: event.target.value
});
},
尝试将其更改为:
handleNameChange: function (event) {
this.setState({
name: event.target.value
});
},
因为在初始方法中,event
是未定义的,所以它也将您的状态设置为undefined
此手持设备也有相同的功能,请将其更改为:
handleIngredientsChange: function (event) {
this.setState({
ingredients: event.target.value
});
},
我认为问题在于handleNameChange
和handleIngredientsChange
方法缺少event
参数:
handleNameChange: function () {
this.setState({
name: event.target.value
});
},
尝试将其更改为:
handleNameChange: function (event) {
this.setState({
name: event.target.value
});
},
因为在初始方法中,event
是未定义的,所以它也将您的状态设置为undefined
此手持设备也有相同的功能,请将其更改为:
handleIngredientsChange: function (event) {
this.setState({
ingredients: event.target.value
});
},
在哪里检查状态值?@Ved代码已更新。在哪里检查状态值?@Ved代码已更新(╯°□°)╯︵ ┻━┻ GRRR(╯°□°)╯︵ ┻━┻ 吼叫声