小编luc*_*nde的帖子

从 PanResponder 内部更新状态

我正在使用 react-native-svg 制作应用程序,但无法从 PanResponder 内部更新组件的状态。

我有一个 < Svg > 元素,里面有一个 < Circle > 。< Circle > 的位置是相对于一个叫做 originCoords(一个状态变量)的变量。我已经使用 PanResponder 来制作它,以便在执行平移手势时,< Svg >(其中包含 < Circle >)被移动,一旦手势结束,< Svg > 就会回到其原始位置。

我试图在平移手势完成后更改 originCoords,因此,即使 < Svg > 回到其原始位置,< Circle > 仍保持在其新位置。但是我真的很难从 PanResponder 内部更改 originCoords 的状态,在 createPanResponder.js 文件中,它只是保持不变,至少在 android 模拟器上。任何帮助将非常感激。

这是我的文件:

// MapScreen.js

import React, { useRef, useState } from "react";
import { Animated } from "react-native";
import { Svg, Circle } from "react-native-svg";
import { createPanResponder } from "../services/utils/createPanResponder";

export const MapScreen = () …
Run Code Online (Sandbox Code Playgroud)

javascript svg reactjs react-native react-native-android

6
推荐指数
1
解决办法
592
查看次数