刚开始学习 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( ... ) 中使用它。我尝试过绑定(bind),但实际上我是一个完整的初学者,现在甚至不知道该往哪里看。任何指针将不胜感激。
最佳答案
这目前是不可能的。通过快速查看模块源代码,您可以看到here pressDragRelease
函数是在没有任何参数的情况下调用的。
onPanResponderRelease: (e, gestureState) => {
if(pressDragRelease)
pressDragRelease();
[...]
我们在这里想要的是从
gestureState
获取 x 和 y 。我们可以将
onPanResponderRelease
参数传递给 pressDragRelease
:onPanResponderRelease: (e, gestureState) => {
if(pressDragRelease)
pressDragRelease(e, gestureState);
[...]
随意 fork 并提交拉取请求!
更新
我在这里做了一个 PR:https://github.com/tongyy/react-native-draggable/pull/7
更新 2
PR 已合并,模块的新版本已发布到 npm!
npm install react-native-draggable@1.0.8
关于javascript - React Native 将组件/对象属性传递给 OnPress 函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47463919/