2017-04-09 3 views
4

내가 아주 기본적인 내가 현재 작성 - 반응 - 응용 프로그램을 사용하여 만드는거야 응용 프로그램을 반응이 (PropTypes는 사용되지 않음),이 코드입니다 :React-Router npm 패키지가 콘솔에서 경고를 표시합니까?

하는 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; 

그리고 나는이 응용 프로그램을 실행할 때 콘솔에서 다음과 같은 경고를 얻을 :

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

반응 라우터 관련 항목을 제거 할 때 콘솔 경고가 표시되지 않는 것 같아요. 내 추측에 의하면 그 패키지에서 오는 것입니다 ...하지만 이전에 다른 작은 응용 프로그램에서 사용했습니다. 오류가있어서 약간 혼란 스럽습니다.

무엇이 여기에 있습니까?

답변

5

React에서 만든 React v15.5.의 최근 변경 (2 일 전) 변경된 내용은 PropTypes은 (는) 더 이상 React 자체에 포함되어 있지 않으며 자체 패키지 (prop-types)입니다. 즉, 대부분의 라이브러리가 React.PropTypes을 사용 중이므로이 경고가 표시됩니다. 이미 React Router으로 문제가 제기되었으며 몇 가지 요청이 제출되었습니다. 나는 이것이 앞으로 24-48 시간 내에 고쳐질 것이라고 상상한다. 그래서 지금은 그냥 무시하십시오. 실제로 코드에는 아무런 문제가 없습니다.

+4

나는 그들이 * 던지고 * 추가하고 싶습니다. 이것은 경고이며 오류는 아닙니다. 따라서 코드는 React 16까지 작동합니다. –

관련 문제