我是React Native的新手,请原谅我缺乏的知识。
我想在孩子内部调用一个函数,但由父事件(在此处为onScroll)触发。
return (
<View
ref={ref => { this.split = ref; }}
"onParentScroll"={() => {
this.split.measureInWindow((x, y, height, width) => {
console.log('X : ' + x)
console.log('Y : ' + y)
})}}>
{childrenWithProps}
</View>
)
通过这种方式,我不能直接在父scrollView上设置onScroll。 我的目标是在同一个scrollView中具有多个此组件。
答案 0 :(得分:1)
您可以像这样将对父母的引用作为对孩子的支持:
<ChildComponent parent={this} />
然后从孩子那里更新父母的状态,将对孩子本身的引用传递给孩子,就像这样:
this.props.parent.setState({ child1: this });
最后,在父级中,您可以根据需要处理更新的信息,如下所示:
this.state.child1.callAnyMethod();
答案 1 :(得分:0)
最简单的方法是发送布尔状态作为prop并将其切换为onScroll。
<ScrollView
onMomentumScrollBegin={() => { this.setState({ scroll : !this.state.scroll });}}
onMomentumScrollEnd={() => { this.setState({ scroll : !this.state.scroll });}}>
<Trigger trig={ this.state.scroll }><Text>oui</Text></Trigger>
</ScrollView>