Анимировано: `useNativeDriver` не указан. Это обязательная опция и должна быть явно установлена на `true` или` false` #31
Я использую React-Native-Draggable-View, чтобы добавить ползунок в свое приложение, но каждый раз, когда я касаюсь ползунка, появляется указанная выше ошибка. При устранении неполадок он утверждает, что имеет какое-то отношение к анимации / анимированному представлению, но у меня нет анимированного представления в моем коде. Я углубился в документацию, и там нет упоминания о необходимости анимированного представления. Я использовал хуки, а в документах используется формат класса, поэтому я изо всех сил пытаюсь определить, где и как я его реализую. Ниже то, что у меня есть на данный момент.
import React, { useState, useEffect, Component }from "react";
import {Alert, Dimensions, Platform, StyleSheet, Text, View, Button, TouchableOpacity, TouchableHighlight, SafeAreaView, ScrollView, ActivityIndicator, StatusBar} from "react-native";
import {ListScreen} from './ListScreen
import {CheckScreen} from './CheckScreen'
import Drawer from 'react-native-draggable-view'
function RunningScreen({navigation}) {
...
return(
...
<Drawer
initialDrawerSize={0.3}
finalDrawerHeight={0.5}
//autoDrawerUp={0.5}
renderContainerView={() => (
<ListScreen navigation = {navigation}
/>
)}
renderDrawerView={() => (
<RunningScreen navigation = {navigation} />
)}
renderInitDrawerView={() => (
<View style = {{alignItems: 'center'}}>
<View style={{backgroundColor: '#d3d3d3', height: height*0.01, width: width*0.2, alignItems: 'center'}}>
<StatusBar hidden={false} />
</View>
</View>
)}
/>
)
}
...
export {RunningScreen}
3 ответа
Вы используете библиотеку «response-native-draggable-view», которая не имеет useNativeDriver true или false. Поэтому вам нужно открыть библиотеку и применить «useNativeDriver: false» в Animated.timing.
Перед :
Animated.timing(position, {
toValue: endPosition,
tension: 30,
friction: 0,
velocity: velocityY
}).start();
После :
Animated.timing(position, {
toValue: endPosition,
tension: 30,
friction: 0,
velocity: velocityY,
useNativeDriver: false
}).start();
Вы видите это, потому что
react-native-draggable-view
не обновлялся в течение 3 лет, и вы используете более новую версию react-native. В частности,> 0,62, где указано
useNativeDriver
необходимо. Я предполагаю, что это оскорбление
Animated.timing
звонок из библиотеки. Я бы отредактировал этот блок из
node_modules/react-native-draggable-view/index.js
быть
Animated.timing(position, {
toValue: endPosition,
tension: 30,
friction: 0,
velocity: velocityY,
useNativeDriver: false,
}).start();
и посмотрите, исчезнет ли ошибка. Если это так, вы можете исправить пакет, чтобы включить это исправление. Вы можете пропатчить патч-пакетом или пряжей, если используете пряжу v2.
<Carousel
layout={'tinder'}
autoplay
autoplayTimeout={5000}
loop
index={0}
pageSize={BannerWidth}
>
{images.map((image, index) => this.renderPage(image, index))}
</Carousel>