web-dev-qa-db-fra.com

Animé: `useNativeDriver` n'a pas été spécifié problème de ReactNativeBase Input

J'ai créé un nouveau projet natif de réaction aujourd'hui (3 avril 2020) et ajouté une base native. Ensuite, j'ai essayé d'ajouter une entrée avec une étiquette flottante. Il donne un message d'avertissement: Animé: useNativeDriver n'a pas été spécifié. Cette option est obligatoire et doit être explicitement définie sur true ou false. Si j'ai supprimé l'attribut floatingLabel ou l'ai changé en stackedLabel, l'avertissement a disparu. Pendant que cet avertissement apparaît, onChangeText n'est pas appelé.

Warning message

Le fichier du composant.

import React from 'react';
import {
  SafeAreaView,
  ScrollView,
  StatusBar,
  StyleSheet,
  View,
} from 'react-native';

import {Input, Item, Label} from 'native-base';

import {Colors} from 'react-native/Libraries/NewAppScreen';

declare var global: {HermesInternal: null | {}};

const App = () => {
  return (
    <>
      <StatusBar barStyle="dark-content" />
      <SafeAreaView>
        <ScrollView
          contentInsetAdjustmentBehavior="automatic"
          style={styles.scrollView}>
          <View style={styles.body}>
            <Item floatingLabel>
              <Label>Test</Label>
              <Input onChangeText={text => console.log(text)} />
            </Item>
          </View>
        </ScrollView>
      </SafeAreaView>
    </>
  );
};

package.json

{
  "name": "formtest",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "Android": "react-native run-Android",
    "ios": "react-native run-ios",
    "start": "react-native start",
    "test": "jest",
    "lint": "eslint . --ext .js,.jsx,.ts,.tsx"
  },
  "dependencies": {
    "native-base": "^2.13.12",
    "react": "16.11.0",
    "react-native": "0.62.0"
  },
  "devDependencies": {
    "@babel/core": "^7.6.2",
    "@babel/runtime": "^7.6.2",
    "@react-native-community/eslint-config": "^1.0.0",
    "@types/jest": "^24.0.24",
    "@types/react-native": "^0.62.0",
    "@types/react-test-renderer": "16.9.2",
    "@TypeScript-eslint/eslint-plugin": "^2.25.0",
    "@TypeScript-eslint/parser": "^2.25.0",
    "babel-jest": "^24.9.0",
    "eslint": "^6.5.1",
    "jest": "^24.9.0",
    "metro-react-native-babel-preset": "^0.58.0",
    "react-test-renderer": "16.11.0",
    "prettier": "^2.0.2",
    "TypeScript": "^3.8.3"
  },
  "jest": {
    "preset": "react-native",
    "moduleFileExtensions": [
      "ts",
      "tsx",
      "js",
      "jsx",
      "json",
      "node"
    ]
  }
}
9
Supun Induwara

recherchez simplement animated.timing sur le dossier ~\node_modules\native-base\dist\src\basic\et ajoutez manuellement useNativeDriver: true ou false

0
Ahmad Habib

Il s'agira principalement de trouver toutes les instances de Animated.timing ou Animated.spring et d'ajouter useNativeDriver: true à la configuration.

0
Nitin Singh