ios - -[RCTRootView cancelTouches] `è obsoleto e verrà eliminato presto nella mappa nativa reattiva




react-native (2)

Sto usando la mappa di reazione nativa e funziona bene su iOS e Android.

la mia versione nativa di reazione è 0.61.2. Ma in iOS, quando faccio clic sulla mappa, viene visualizzato l'avviso "- [RCTRootView cancelTouches]` è obsoleto e verrà eliminato presto ".

Che cos'è questo e come rimuovere questo avviso?


La risposta di Muhammed è per lo più corretta, tuttavia, al fine di arrestare gli arresti anomali, devi anche avvolgere l'app nell'HOC Gestore gesti nativi di React come segue:

index.js

import 'react-native-gesture-handler'
import { gestureHandlerRootHOC } from 'react-native-gesture-handler';

index.js

AppRegistry.registerComponent(appName, () => gestureHandlerRootHOC(App));

Nota È necessario disporre di queste importazioni come primissime importazioni affinché la correzione funzioni.

Questo è vero per React Native 61.2 e la reazione-nativo-gestore-gestore 1.4.1

Nota: i documenti ufficiali di React Native suggeriscono di utilizzare il modulo YellowBox per ignorare gli avvisi come. Per esempio:

import {YellowBox} from 'react-native';

YellowBox.ignoreWarnings(['`-[RCTRootView cancelTouches]`']);

Vedi questo commit che ora è in reattivo 0.61+

Anche se dice deprecato, secondo la conversazione in questa richiesta pull , verrà aggiunto di nuovo al core di reazione nativo.

Puoi respingerlo fino a quando il team di reattivo nativo rimuove l'avvertimento:

console.ignoredYellowBox = ['Warning: `-[RCTRootView cancelTouches]`'];

Oppure esegui il downgrade di reattivo nativo a una versione inferiore a 0.61.

Alcune librerie come il react-native-gesture-handler chiamano ancora il metodo cancelTouches. Ecco perché vedi questo avviso.

Stavo usando il gestore dei gesti di reazione nativo che ha dato questo avviso in modalità debug e ha causato arresti anomali nelle build di rilascio su Android e iOS. Risolti gli arresti anomali con l'aggiunta import 'react-native-gesture-handler' al livello superiore di index.js.





react-native