javascript - 从父未定义事件触发子函数
问题描述
我是 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。我的目标是在同一个滚动视图中拥有几个这样的组件。
解决方案
您可以将对父级的引用作为道具传递给子级,如下所示:
<ChildComponent parent={this} />
并从孩子那里更新父母的状态,将a引用传递给孩子本身,如下所示:
this.props.parent.setState({ child1: this });
最后,在父级中,您根据需要处理更新的信息,如下所示:
this.state.child1.callAnyMethod();
推荐阅读
- include - 如何在 sequelizejs 中使用 orderBy 和 include
- scrapy - Scrapy Splash 返回空列表
- c++ - 使用 libcurl 多接口连续请求相同的“简单”句柄
- winapi - 'Avl' 后缀与 Win32 API 中的原始函数有什么区别?
- c# - LINQ - 带有布尔方法的 Where 子句
- javascript - Javascript show/hide on dropdown onchange 函数,表单提交后需要记住值
- python - Python,每行中的项目到一个变量
- c++ - How to document a function that takes a callback?
- dictionary - How to get different places in leaflet map?
- opengl - PyOpenGL headless rendering