未捕获的引用错误:Link未定义React。

4
我正在使用react 0.14.7和webpack 1.12.13,出现以下错误:
Uncaught ReferenceError: Link is not defined

这个错误发生在浏览器中,而且所有的编译都没有错误。
import React from 'react'
import { Link } from 'react-router'

export default React.createClass({
  render() {
    return <Link {...this.props} activeClassName="active"/>
  }
})

webpack.config

var webpack = require('webpack')

module.exports = {
  entry: './src/client/js/index.js',

  output: {
    path: 'public',
    filename: 'bundle.js',
    publicPath: '/'
  },

  resolve: {
    extensions: ['', '.js', '.jsx']
  },

  plugins: process.env.NODE_ENV === 'production' ? [
    new webpack.optimize.DedupePlugin(),
    new webpack.optimize.OccurrenceOrderPlugin(),
    new webpack.optimize.UglifyJsPlugin()
  ] : [],

  module: {
    loaders: [
      { test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader?presets[]=es2015&presets[]=react' },
      { test: /\.scss$/, loaders: ['style', 'css', 'sass']}
    ]
  },

}

稍微补充一下,让混淆更加严重的是,我已经安慰过react-router了,但仍然没有发现问题:

import router from 'react-router'
console.info(router); //undefined

嗯。你的webpack配置是什么样子的?你有检查捆绑输出以查看是否包含了react-router吗? - mejdev
你正在使用哪个版本的react-router?你能否在某个地方设置一个独立的项目来学习吗? - Juho Vepsäläinen
对于react-router,版本号为^2.0.0。很好的想法,我会尝试使用相同的设置创建一个新项目,并查看是否可以使Link正常工作。我只是不明白为什么它不在那里。 - Jamie Hutber
我也有同样的问题...有解决方案吗? - GeneralBear
我正在使用v4.0.0-alpha.6版本,我也遇到了这个问题,但是一旦我引入了 import { Link } from 'react-router' 就一切正常了。 但是这不是v2。 - revelt
1个回答

3

请使用react-router-dom代替。

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

在npm上查看react-router-dom


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接