我想将一个 Prop 从子组件传递到父组件(确切地说,当子组件完成某些工作时调用父组件中的函数)。但它并没有达到我想要的效果!
这是子组件的一些代码:
handle = () =>
{
return this.props.DoLoggin;
}
render(){
return(
<Button onPress={this.handle}><Text>Click</Text></Button>
);
}
和父级:
handler = ()=> {
console.log('Logged In :)');
}
render(){
return (
<Login DoLoggin={this.handler}/>
);
}
注意:当我在子组件中的 onPress 等方法中使用 call 属性时,它可以工作! :
render(){
return(
<Button onPress={this.props.DoLoggin}><Text>Click</Text></Button>
);
}
但这不是我想要的!我想在函数中调用 prop 来自动完成一些工作!
最佳答案
它直接工作的原因是因为你没有调用函数本身。它只是对用户按下按钮时将调用的函数的引用。由于您使用的是自定义处理程序,因此必须在 return
语句中调用该函数
您必须在 handle
函数中调用 prop 函数。
handle = () =>
{
return this.props.DoLoggin();
}
关于javascript - 从函数中的子组件调用 prop 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57430513/