2017-10-19 8 views
1

Je reçois l'erreurPropTypes est dépréciée et comment le résoudre

non définie est pas un objet (évaluation « _react2.PropTypes.string »)

Alors que googler j'ai découvert que React.Proptypes est obsolète et c'est tout seul.

Mais, comment puis-je résoudre ce problème?

J'ai essayé les éléments suivants:

1.) npm install -g prop-types --save

2.) partie du code

import React, { Component } from 'react'; 
import PropTypes from 'prop-types'; 
import { Text, View, TouchableOpacity } from 'react-native'; 
import { Actions } from 'react-native-router-flux'; 
import { Field, reduxForm } from 'redux-form'; 
import { Container, Input, Button, Item, Spinner } from '../common'; 
import styles from './authStyle'; 

const propTypes = { 
    handleSubmit: PropTypes.func.isRequired, 
    clearState: PropTypes.func.isRequired, 
    signUpUser: PropTypes.func.isRequired, 
    authError: PropTypes.string.isRequired, 
    loading: PropTypes.bool.isRequired, 
}; 

class Signup extends Component { 
    constructor(props) { 
    super(props); 

    this.handleFormSubmit = this.handleFormSubmit.bind(this); 
    } 
... 

Cependant, je finis par avoir la même erreur et comment puis-je résoudre ?

MISE À JOUR

import React from 'react'; 
import PropTypes from 'prop-types'; 
import { Text, TouchableOpacity } from 'react-native'; 

const propTypes = { 
    children: PropTypes.node.isRequired, 
    onPress: PropTypes.func.isRequired, 
    buttonStyle: PropTypes.object, 
    textStyle: PropTypes.object, 
}; 

const defaultProps = { 
    buttonStyle: {}, 
    textStyle: {}, 
}; 

function Button({ onPress, children, buttonStyle, textStyle }) { 
    const { button, text } = styles; 

    return (
    <TouchableOpacity 
     onPress={onPress} 
     style={[button, buttonStyle]} 
    > 
     <Text style={[text, textStyle]}> 
     {children} 
     </Text> 
    </TouchableOpacity> 
); 
} 

const styles = { 
    button: { 
    flex: 1, 
    alignSelf: 'stretch', 
    backgroundColor: '#039be5', 
    borderRadius: 3, 
    marginTop: 10, 
    }, 
    text: { 
    alignSelf: 'center', 
    color: '#fff', 
    fontSize: 16, 
    fontWeight: '600', 
    paddingTop: 10, 
    paddingBottom: 10, 
    }, 
}; 

Button.defaultProps = defaultProps; 
Button.propTypes = propTypes; 

export { Button }; 
+0

Cela peut prendre un certain temps, mais un moyen infaillible pour trouver ce bug particulier serait trop log toutes vos variables et conclusion où le point d'arrêt est, c'est-à-dire, ce qui est en dessous du dernier élément enregistrable. – fungusanthrax

+0

Existe-t-il une autre option à l'exception de la rétrogradation native de la réaction – Illep

+0

Quel composant est à l'origine de cette erreur –

Répondre

-1

Utilisez ce lieu

import PropTypes from 'prop-types'; 

Button.propTypes = { 
    type: PropTypes.string 
}; 
+0

Puis-je savoir pourquoi cela a été voté. Je suis encore en train d'apprendre, ce serait bien si quelqu'un peut me faire savoir la raison aussi. – Illep

+0

Vous n'avez donné aucun contexte à votre réponse et il semble que vous venez d'ajouter l'utilisation de 'PropTypes'. Il ne semble pas différent alors comment l'OP a-t-il utilisé. Il suffit de coder ou de lier les réponses considérées comme de faible qualité dans SO. – bennygenel