Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.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 Can';t从父组件方法访问状态_Javascript_Reactjs - Fatal编程技术网

Javascript Can';t从父组件方法访问状态

Javascript Can';t从父组件方法访问状态,javascript,reactjs,Javascript,Reactjs,我正在使用道具将方法调用传递给它的子组件(键盘和键),但当我尝试在子组件(键)中执行该方法时,该方法无法访问原始组件(计算器)状态,返回未定义 类计算器扩展了React.Component{ 构造函数(){ 超级() 此.state={ 显示:“现在什么都没有” 关键点:[ { 类别:“数字”, 标签:“0”, id:“零”, fn:这是一个.setCalculation } ] } this.setCalculation=this.setCalculation.bind(this) } se

我正在使用道具将方法调用传递给它的子组件(键盘和键),但当我尝试在子组件(键)中执行该方法时,该方法无法访问原始组件(计算器)状态,返回未定义


类计算器扩展了React.Component{
构造函数(){
超级()
此.state={
显示:“现在什么都没有”
关键点:[
{
类别:“数字”,
标签:“0”,
id:“零”,
fn:这是一个.setCalculation
}
]
}
this.setCalculation=this.setCalculation.bind(this)
}
setCalculation(){
console.log(this.state.display)//单击键组件时返回未定义
}
render(){
返回(
)
}
}
类键盘扩展了React.Component{
建造师(道具){
超级(道具)
}
render(){
让keys=this.props.keys.map((v)=>{
返回
})
返回(
{keys}
)
}
}
类键扩展了React.Component{
建造师(道具){
超级(道具)
this.execute=this.execute.bind(this)
}  
执行(e){
this.props.data.fn(this.props.data.label)
}
render(){
返回(
{this.props.data.label}
)
}
}
ReactDOM.render(,document.getElementById(“app”))

需要返回计算器组件状态值的方法除了在“nothing now”之后忘记的逗号之外,还需要在定义组件状态之前绑定setCalculation方法

构造函数(道具){
超级(道具);
this.setCalculation=this.setCalculation.bind(this);
此.state={
显示:“现在什么都没有”,
关键点:[
{
类别:“数字”,
标签:“0”,
id:“零”,
fn:这是一个.setCalculation
},
],
};

}
在本例中,我希望打印状态值,而不是像上面所说的那样返回任何内容。所以他不允许我编辑这篇文章。