Как исправить устаревшее предупреждение React 15.5.3 PropTypes при использовании приложения create-react-app

Я использую create-response-app для запуска React проекта. В последнем React 15.5.3 пакете появляются следующие предупреждения:

Предупреждение: доступ к PropTypes через основной пакет React устарел. Вместо этого используйте пакет prop-types от npm.

Я уже слежу за блогом:

npm install prop-types и import PropTypes from 'prop-types';

но это не работает. Я не использую PropTypes или props в коде:

import React, { Component } from 'react';
import PropTypes from 'prop-types';

class App extends Component {
    constructor() {
        super();
        this.state = {
            videoVisible: true,
        };
    }

    ......
}

Как это исправить?

Спасибо.


person AvantContra    schedule 09.04.2017    source источник


Ответы (2)


Позаимствовано из блога Reacts - npm установите prop-types, а затем используйте новый код. Также было сказано, что вы можете получить это сообщение об ошибке, если вложенный компонент не использует типы свойств, а родительский - поэтому вам нужно проверить другие компоненты.

// Before (15.4 and below)
import React from 'react';

class Component extends React.Component {
  render() {
    return <div>{this.props.text}</div>;
  }
}

Component.propTypes = {
  text: React.PropTypes.string.isRequired,
}

// After (15.5)
import React from 'react';
import PropTypes from 'prop-types';

class Component extends React.Component {
  render() {
    return <div>{this.props.text}</div>;
  }
}

Component.propTypes = {
  text: PropTypes.string.isRequired,
};
person Spencer Bigum    schedule 09.04.2017
comment
Спасибо. Но я уже слежу за этим блогом и не использую никаких реквизитов в коде, не повезло. - person AvantContra; 09.04.2017
comment
Можешь выложить код на гитхаб? Также вы можете не использовать реквизиты, но другие библиотеки по-прежнему используют, например Redux. - person Spencer Bigum; 09.04.2017
comment
О да, как вы сказали, я использую aframe-response, который использует props. Я это исправил. Спасибо! - person AvantContra; 09.04.2017
comment
Кажется, ваша ошибка исправлена, я просто хотел добавить, что у меня похожая проблема, я использую шутку и фермент, и когда я запускаю свой набор тестов, я получаю такое же предупреждение, однако я вижу, что у Enzyme все еще старый ‹15.5. синтаксис для PropTypes, следовательно, предупреждение. - person Faktor 10; 21.04.2017
comment
@Contra, если ответ на самом деле не решил заявленную проблему, вы не должны принимать его как ответ, даже если он был приятным и благонамеренным. - person frandroid; 17.06.2017
comment
@frandroid Вы правы. Проголосовал за полезный комментарий. - person AvantContra; 17.06.2017
comment
Я также получал эту ошибку из-за внешней зависимости, которая использовала старую версию. Пришлось обновить деп. - person archae0pteryx; 23.07.2017

React v15.5.x добавляет новые предупреждения проверьте здесь

У меня работает понижение версии React v15.5.3 до 15.4.x

npm install --save [email protected] [email protected]
person Hemadri Dasari    schedule 01.08.2018