React Native 将 Component/Object 属性传递给 OnPress 函数
Posted
技术标签:
【中文标题】React Native 将 Component/Object 属性传递给 OnPress 函数【英文标题】:React Native passing Component/Object property to OnPress function 【发布时间】:2018-05-07 21:59:55 【问题描述】:刚开始学习 React Native 并遇到一些基本问题。 我正在使用 React-native-draggable 组件,我想使用元素的位置来更新当前场景的状态。
<Draggable renderColor='white' offsetX=0 renderSize=48 reverse=false pressDragRelease=PASS X,Y POSITION TO A FUNCTION HERE?>
对于我的生活,我无法让它工作;我真的只想得到释放的 Draggable 元素的 x 和 y 位置,并在 this.setState(...) 中使用它。我试过绑定,但实际上我是一个完整的初学者,现在甚至不知道在哪里看。任何指针将不胜感激。
【问题讨论】:
【参考方案1】:目前这是不可能的。快速浏览一下模块源码,可以看到herepressDragRelease
函数是在没有任何参数的情况下调用的。
onPanResponderRelease: (e, gestureState) =>
if(pressDragRelease)
pressDragRelease();
[...]
我们在这里想要的是从gestureState
中获取 x 和 y。
我们可以将onPanResponderRelease
参数传递给pressDragRelease
:
onPanResponderRelease: (e, gestureState) =>
if(pressDragRelease)
pressDragRelease(e, gestureState);
[...]
随意分叉并提交拉取请求!
更新
我在这里做了一个 PR:https://github.com/tongyy/react-native-draggable/pull/7
更新 2
PR 已合并,新版本的模块已发布到 npm!
npm install react-native-draggable@1.0.8
【讨论】:
这太棒了。非常感谢你!从 StackOvervlow 问题到合并模块更新,不到 5 小时……太棒了。再次感谢! @kytwb 我尝试了同样的事情,但是我没有得到这个 X 和 Y,我只得到了接触点,而不是 X 和 Y。你能帮我做同样的事情吗? @SAMIRRATHOD 您使用的是什么版本的模块?你能分享一个复制的链接吗?以上是关于React Native 将 Component/Object 属性传递给 OnPress 函数的主要内容,如果未能解决你的问题,请参考以下文章
React-Native - 在Component和Class之间传递数据
React Native + react-native-router-flux:<Scene key='modal' component=Modal/> 有啥作用?