Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在React中获取当前状态?_Javascript_Reactjs - Fatal编程技术网

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(╯°□°)╯︵ ┻━┻ 吼叫声