2017-10-28 52 views
0

我是比較新的反應,並在編程和一般的問題已經出現,我一直在試圖解決現在的某個時候,但似乎無法找到一個解決方案。 我的問題是,每當我按下鏈接「登陸」(可以在倒數第二個代碼片段中)我得到的錯誤,ReactJS未捕獲的ReferenceError:未定義鏈接

Uncaught ReferenceError: Link is not defined 
at Object.render (bundle.js:37775) 
at bundle.js:33451 
at measureLifeCyclePerf (bundle.js:32731) 
at ReactCompositeComponentWrapper._renderValidatedComponentWithoutOwnerOrContext (bundle.js:33450) 
at ReactCompositeComponentWrapper._renderValidatedComponent (bundle.js:33477) 
at ReactCompositeComponentWrapper.performInitialMount (bundle.js:33017) 
at ReactCompositeComponentWrapper.mountComponent (bundle.js:32913) 
at Object.mountComponent (bundle.js:4990) 
at ReactCompositeComponentWrapper._updateRenderedComponent (bundle.js:33420) 
at ReactCompositeComponentWrapper._performComponentUpdate (bundle.js:33379)   

,我相信它是與鏈接本身或路由器。當我按下連結它改變了路徑「/登錄」,但它不會改變的頁面。我跟着這個教程(https://www.youtube.com/watch?v=W6m2qUCYLuk)和其他使用路由器來代替BrowserRouter但我遇到了一些錯誤,讀到這裏,你現在應該使用BrowserRouter代替。所以,我剛纔因爲我用BrowserRouter代替路由器做任何改變?

爲路由器代碼:

var React = require('react'); 
var ReactDOM = require('react-dom'); 

require('./css/index.css'); 

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

var Login = require('./login'); 
var CreateNewAcc = require('./createNewAcc'); 

var App = React.createClass({ 
    render: function(){ 
     return(
      <BrowserRouter history={browserHistory}> 
       <div> 
        <Route path={'/'} component={MainComponent}/> 
        <Route path={'/login'} component={Login}/> 
        <Route path={'/createNewAcc'} component= 
{CreateNewAcc}/> 
       </div> 
      </BrowserRouter> 
     ); 
    } 
}); 

這是主要的代碼(我縮短了它,並只增加相關的部分,其中的鏈接):

var MainComponent = React.createClass({ 
render: function(){ 
    return(
     <div className='wrapper'> 
      <div className='header'> 
       <img className='logo' src='./images/loop.png'></img> 
       <div className='loginDiv'> 
        <Link className='login' to={'/login'}>Logga in</Link> 
       </div> 
      </div> 

的package.json文件

"dependencies": { 
    "react": "^15.6.1", 
    "react-dom": "^15.6.1", 
    "react-router": "^4.2.0", 
    "react-router-dom": "^4.2.2" 
}, 
"devDependencies": { 
    "babel-core": "^6.25.0", 
    "babel-loader": "^7.1.1", 
    "babel-preset-es2015": "^6.24.1", 
    "babel-preset-react": "^6.24.1", 
    "css-loader": "^0.28.4", 
    "style-loader": "^0.18.2", 
    "webpack": "^3.5.4", 
    "webpack-dev-server": "^2.7.1" 
} 

在此先感謝!

+0

你有進口'Link'你'MainComponent'? – Panther

+0

@Panther的主要成分是在同一個文件在第一片段中的代碼 – hugosod

回答

1

裏面你MainComponent <Link>刪除{}所以裏面MainComponent:

import { Link } from 'react-router-dom'; 

<Link className='login' to="/login">Logga in</Link> 

你可以閱讀更多的Link

相關問題