我有一个非常基本的反应应用程序我正在使用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相关的东西时,我似乎没有得到控制台警告所以我的猜测是它来自那个包...但我之前在另一个小应用程序中使用过它并没有有错误,所以我有点困惑。
我在这里缺少什么?
答案 0 :(得分:5)
这是React在React v15.5.中所做的最近更改(2天前)更改是PropTypes
不再包含在React本身中,而是有自己的包(prop-types
)。这意味着任何正在使用React.PropTypes
的库(大多数库)现在都会显示此警告。已经向React Router提交了一个问题,并且还提交了一些拉取请求。我想这会在接下来的24-48小时内得到修复。所以现在,请忽略它。您的代码没有任何问题。