2017-04-25 49 views
13

Tôi vừa mới bắt đầu học React và bị kẹt ở lỗi này.Bộ định tuyến phản ứng: Không thể đọc thuộc tính 'tên đường dẫn' không xác định

Uncaught TypeError: Cannot read property 'pathname' of undefined at new Router

Đây là mã của tôi:

var React = require('react'); 
var ReactDOM = require('react-dom'); 
var { Route, Router, IndexRoute } = require('react-router'); 
var hashHistory = require('react-router-redux') 

var Main = require('./components/Main'); 

ReactDOM.render(
    <Router history={hashHistory}> 
     <Route path="/" component={Main}> 

     </Route> 
    </Router>, 
    document.getElementById('app') 
); 

Các hướng dẫn, tôi đã được sử dụng sau Phản ứng-Router 2.0.0, nhưng trên máy tính để bàn của tôi, tôi đang sử dụng 4.1.1. Tôi đã thử tìm kiếm các thay đổi nhưng không thành công trong việc tìm kiếm giải pháp hoạt động.

"dependencies": { 
"express": "^4.15.2", 
"react": "^15.5.4", 
"react-dom": "^15.5.4", 
"react-router": "^4.1.1", 
"react-router-dom": "^4.1.1", 
"react-router-redux": "^4.0.8" 
+0

gì phiên bản của phản ứng-router – WilomGfx

+0

@WilomGfx 4.1.1 ... tôi đã thêm các phiên bản tôi sử dụng trong chỉnh sửa của tôi –

Trả lời

14

Lỗi này là do api trong Bộ phản ứng v4 hoàn toàn khác. Bạn có thể thử này:

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

const Main =() => <h1>Hello world</h1>; 

ReactDOM.render(
    <Router> 
    <Route path='/' component={Main} /> 
    </Router>, 
    document.getElementById('app') 
); 

Bạn có thể xem documentation học cách nó hoạt động ngay bây giờ.

Here Tôi có repo có hoạt ảnh định tuyến.

here bạn có thể tìm bản trình diễn trực tiếp.

+0

Cảm ơn! Điều đó rất hữu ích –

+0

Bạn được chào đón –

2

tôi đã có lỗi tương tự và tôi giải quyết nó bằng cách cập nhật history từ 2.x.x để 4.x.x

npm install [email protected] --save

Các vấn đề liên quan