我目前正在 React Native 中构建一副刷卡牌。我对顶部卡片使用 AnimatedView,然后对下面的卡片使用常规视图,通过更改存储在状态中的卡片列表来更改顶部卡片。有两个按钮也可用于刷卡,这些按钮按预期工作,函数被调用并按预期运行,但是当调用来自 panresponder 时,卡片列表未定义。
panResponder 的简化版本。
const [cards, setCards] = useState([])
useEffect(() => {/*a fetch that collects cards*/ setCards(fetchResult)})
const panResponder = React.useMemo(
() =>
PanResponder.create({
onStartShouldSetPanResponder: (evt, gestureState) => true,
onPanResponderRelease: (evt, gestureState) => {
let y = gestureState.dy;
console.log(evt)
console.log(gestureState)
if (condition) {
rate(false);
}
}),
[]
);