我想将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}/>
);
}
注意:当我在Child组件中的onPress之类的方法中使用调用道具时,它起作用了! :
render(){
return(
<Button onPress={this.props.DoLoggin}><Text>Click</Text></Button>
);
}
但这不是我想要的!我想调用prop,在一个函数中自动执行一些工作!
答案 0 :(得分:2)
它直接起作用的原因是因为您没有调用函数本身。它只是对用户按下按钮时将调用的功能的引用。由于您使用的是自定义处理程序,因此必须在function p1() {
return new Promise((resolve, reject) => { //add return
setTimeout(() => {
resolve(3)
}, 2000);
})
}
语句
您必须在const p1 = () => {
return new Promise((resolve, reject) => { //add return
setTimeout(() => {
resolve(3)
}, 2000);
})
}
函数内部调用prop函数。
cln1.classList.add("zoom");
var body = document.getElementsByTagName("BODY")[0];
body.innerHTML = cln1;
答案 1 :(得分:1)
您必须调用它:
handle = () =>
{
return this.props.DoLoggin(); //not this.props.DoLoggin;
}