React-Router npm包在控制台中给我警告? (不推荐使用PropTypes)

时间:2017-04-09 07:07:45

标签: javascript reactjs react-router react-redux

我有一个非常基本的反应应用程序我正在使用create-react-app创建当前,这是代码:

index.js

import React from 'react';
import ReactDOM from 'react-dom';
import { Router, Route } from 'react-router';

import createBrowserHistory from 'history/createBrowserHistory';

import App from './App/AppComponent';

const browserHistory = createBrowserHistory();

ReactDOM.render(
    <Router path="/" history={browserHistory}>
        <div>
            <Route path="/" component={App} />
        </div>
    </Router>, document.getElementById('root')
);

AppComponent.js

import React, { Component } from 'react';

class App extends Component {
    render() {
        return (
            <div>This is the App component</div>
        );
    }
}

export default App;

当我运行此应用程序时,我在控制台中收到以下警告:

bundle.js:11888 Warning: Accessing PropTypes via the main React package is deprecated. Use the prop-types package from npm instead.

当我删除与react-router相关的东西时,我似乎没有得到控制台警告所以我的猜测是它来自那个包...但我之前在另一个小应用程序中使用过它并没有有错误,所以我有点困惑。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:5)

这是React在React v15.5.中所做的最近更改(2天前)更改是PropTypes不再包含在React本身中,而是有自己的包(prop-types )。这意味着任何正在使用React.PropTypes的库(大多数库)现在都会显示此警告。已经向React Router提交了一个问题,并且还提交了一些拉取请求。我想这会在接下来的24-48小时内得到修复。所以现在,请忽略它。您的代码没有任何问题。