刚开始学习 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/

10-12 12:58
查看更多