我在父组件中有这个功能,我试图在子进程中调用这个方法/函数,如下所示:
div.chapo {
width: 70%;
display: table-cell;
}
div.img_header {
width: 30%;
display: table-cell;
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
-webkit-background-size: cover;
background-image: url(...);
}
在孩子身上:
buttonPressed = () => {
console.log('button pressed')
}
<childComp ref={ref => this.feedback = ref}
onPress={this.buttonPressed}
/>
无论我尝试什么,它都没有用。
答案 0 :(得分:2)
你正在传递onPress道具给孩子并且在孩子中调用buttonPressed。它应该是这样的:
<Animated.View>
... // other views
<View>
<TouchableOpacity onPress={this.props.onPress}> // calling here
...
</TouchableOpacity>
</View>
</Animated.View>
答案 1 :(得分:0)
我认为在子组件中你应该调用this.props.onPress()
,因为你传递的属性名称是onPress
。此外,当您想要调用该函数时,不要忘记放置()
。所以它应该是:
<Animated.View>
... // other views
<View>
<TouchableOpacity onPress={this.props.onPress()}> // calling here
...
</TouchableOpacity>
</View>
</Animated.View>