【问题标题】:React Native passing Component/Object property to OnPress functionReact Native 将 Component/Object 属性传递给 OnPress 函数
【发布时间】: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(...) 中使用它。我试过绑定,但实际上我是一个完整的初学者,现在甚至不知道在哪里看。任何指针将不胜感激。

【问题讨论】:

    标签: javascript reactjs react-native ecmascript-6 draggable


    【解决方案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 您使用的是什么版本的模块?你能分享一个复制的链接吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-15
    • 1970-01-01
    • 2017-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-22
    相关资源
    最近更新 更多