2017-03-13 2 views
0

내가 특정 기능이 라우터 반응의 알파 버전으로 작업하는 이유를 알아 내기 위해 노력하고 있지만 현재 V4 버전React.CreateElement 문제에 반응 라우터-V4하지 V4-alpha4

인덱스를 된 .js

import React from 'react'; 
import { render } from 'react-dom'; 
import { BrowserRouter, Match } from 'react-router'; 

import NotFound from './components/NotFound'; 

const Root =() => { 
    return (
    <BrowserRouter> 
     <div> 
     <Match exactly pattern="/" component={NotFound} /> 
     </div> 
    </BrowserRouter> 
) 
} 

render(<Root />, document.querySelector('#root')); 

package.json

{ 
    "name": "rbm-dashboard", 
    "version": "0.1.0", 
    "private": true, 
    "dependencies": { 
    "material-ui": "^0.17.0", 
    "react": "^15.4.2", 
    "react-tap-event-plugin": "^2.0.1", 
    "react-dom": "^15.4.2" 
    }, 
    "devDependencies": { 
    "react-router": "4.0.0-alpha.4", 
    "react-scripts": "0.9.3" 
    }, 
    "scripts": { 
    "start": "react-scripts start", 
    "build": "react-scripts build", 
    "test": "react-scripts test --env=jsdom", 
    "eject": "react-scripts eject" 
    } 
} 

NotFound.js

import React from 'react'; 

class NotFound extends React.Component { 
    render() { 
    return (
     <h2>Not Found</h2> 
    ) 
    } 
} 

export default NotFound; 

제가 ^ 4.0.0 4.0.0-alpha.4로부터 대응 라우터 버전을 전환하면, 다음과 같은 에러

enter image description here

I 돈 얻을 알파 버전을 사용하는 데 문제가 있지만 문제가 무엇인지 파악하고 싶습니다. 그래서 배울 수 있습니다. 또한 필요한 경우 누군가가 로컬로보고 싶다면 코드를 github에 푸시 할 수 있습니다.

답변

2

Match 더 이상 일이 아니기 때문에 감사드립니다. Match patternRoute path으로 변경하면 좋을 것입니다. 또한 react-router-dom이 아닌 react-router의 모든 항목을 가져 오십시오.

+0

그래, 그 속임수 덕분에! 어떤 이유로 반응 라우터 위의 반응 라우터가 필요합니까? –

+1

웹을 사용하는 경우 DOM을 사용하십시오. React Native를 사용하는 경우 Native를 사용합니다. 당신은 단지 반응 라우터를 사용해서는 안됩니다. DOM 및 Native 패키지는 필요한 모든 것을 제공합니다. –

관련 문제