2017-07-07 15 views
0

undefined`次のコードに基づいて、タイトルのエラーを取得しますwarning.js:36警告:失敗した小道具のタイプ:小道具 `history`がRouter``で必要とマークされているが、その値は `

import React from 'react' 
// import { browserHistory, hashHistory, Router } from 'react-router' 
// import createMemoryHistory from 'history/lib/createMemoryHistory' 
import { browserHistory, hashHistory, Router, Route, Switch } from 'react-router-dom' 
import Portfolio from './portfolio/Portfolio' 
import Home from './home/Home' 
import NoMatch from './NoMatch' 

// const history = createMemoryHistory(location); 
// console.log('history', history); 

const Routes =() => { 
    return (
     <Router history={browserHistory}> 
      <Route exact={ true } path="/" component={ Home }/> 
      <Route exact={ true } path="/portfolio" component={ Portfolio }/> 
      <Route component={ NoMatch } /> 
     </Router> 
    ); 
} 

export default Routes 

enter image description here

+0

反応し、ルータを使用しているのバージョン? – Chris

+0

@Chris '^ 4.1.1'私はreact-router-domを使用しています –

+0

最近バージョン4にアップグレードしましたか?あなたは、v4より前の構文とpost-v4の構文が混在しているようです。 – Chris

答えて

1

BrowserRouterでルータを交換し、反応-ルータのDOM version4.0から、スイッチを使用して、ルータは複数の子を持つことはできません。

import { browserHistory, hashHistory, BrowserRouter, Route, Switch } from 'react-router-dom'; 

とコードの下でルートを置き換えます

const Routes =() => { 
     return (
      <BrowserRouter history={browserHistory}> 
      <Switch> 
       <Route exact={ true } path="/" component={ Home }/> 
       <Route exact={ true } path="/portfolio" 
         component={ Portfolio }/> 
       <Route component={ NoMatch } /> 
      </Switch> 
      </BrowserRouter> 
     ); 
    } 
関連する問題