34 votes

Avertissement: isMounted (...) est déconseillé dans les classes Javascript ordinaires

Je suis la mise en œuvre de 2 écrans à l'aide de réagir de la navigation. Mais j'ai eu l'avertissement ci-dessous lors de la navigation à la deuxième page:

Avertissement: isMounted(...) est déconseillée dans la plaine de Classes Javascript. Au lieu de cela, assurez-vous de nettoyer les abonnements et les demandes en attente dans componentWillUnmount pour empêcher les fuites de mémoire.

Versions:

  • réagir: 16.3.1
  • réagir-natif: 0.55.2
  • réagir la navigation: 1.5.11
  • util: 0.10.3

Login.js

import React, { Component } from 'react';
import { Text, View, Image, TextInput, TouchableOpacity } from 'react-native';
import styles from "./styles";

export default class Login extends Component {
    constructor(props) {
    super(props);
}

render() {
    const { navigate } = this.props.navigation;     
    return (
        <View style={styles.container}>         
            <View style={styles.formContainer}>                 
                <TouchableOpacity style={styles.button} onPress={()=> navigate('Home')} >
                    <Text style={styles.buttonText}>LOGIN</Text>
                </TouchableOpacity>
            </View>
        </View>
    )
}

Home.js

import React, { Component } from 'react';
import { Text, View } from 'react-native';
import styles from "./styles";

export default class Home extends Component {
    constructor(props) {
        super(props);
    }
    render() {
        const { navigate } = this.props.navigation;
        return(
            <View style={styles.container}>         
                <Text>Home Screen</Text>
            </View>
        )
    }
}

Ce qui me manque ici?

58voto

James Points 522

Il s'agit d'un problème avec les dernières versions de React Navigation et React Native. Pour le faire taire, ajoutez:

 import { YellowBox } from 'react-native';
YellowBox.ignoreWarnings(['Warning: isMounted(...) is deprecated', 'Module RCTImageLoader']);
 

Je m'attends à ce qu'il soit corrigé dans React Navigation dans les prochaines semaines.

7voto

Erwan Points 73

C'est en fait un problème React-Native

Vous pouvez attendre et vérifier lorsqu'un correctif est disponible ici: https://github.com/facebook/react-native/issues/18868

Ou en attendant, vous pouvez masquer l'avertissement comme suggéré.

1voto

Diksha Nagpal Points 11

Utilisez cette instruction en index.js :

 import { YellowBox } from 'react-native';
YellowBox.ignoreWarnings(['Warning: isMounted(...) is deprecated', 'Module RCTImageLoader']);
 

0voto

La solution suivante fonctionne pour moi:

 import { YellowBox } from 'react-native';
YellowBox.ignoreWarnings(['Warning: isMounted(...) is deprecated', 'Module RCTImageLoader']);
 

0voto

le problème de react-navigation est maintenant fermé, vous pouvez regarder ici

Ils déclarent que c'est un problème quelque part à l'intérieur de React-Native

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X