在嵌套组件中使用反应组件时模块中断

Module breaks when using a react component within a nested component

我正在尝试呈现一个名为 Navbar 的简单嵌套 React 组件,但是当我在其中使用另一个组件(或本例中的 Link 标签)时,控制台会给我 'Uncaught Error: Cannot find module "../Navbar"'。如果我删除 Link 标签,则会显示 h1 标签并且没有错误。我可以在 App 组件中使用 Link 标签,所以我知道它应该在项目中工作。

我的 App.js 代码如下所示:

import React from 'react';
import Navbar from '../Navbar';
import { RouteHandler, Link } from 'react-router';

export default React.createClass({

  render: function() {
    return (
      <div className='App'>
        <Link to="about">About</Link>
        <Navbar />
        <RouteHandler />
      </div>
    );
  }

});

我的 Navbar.js 代码如下所示:

import React from 'react';
import { PureRenderMixin } from 'react/addons';
import { Link } from 'react-router';

export default React.createClass({
  mixins: [PureRenderMixin],

  render: function () {
    return (
      <h1>Navbar</h1>
      <Link to="about">About</Link>
    );
  }
});

我正在使用 React-Router、Webpack 和 Browser-Sync,但除了嵌套组件之外,路由、构建和同步似乎工作正常。

您在 Navbar 中的渲染方法试图同时 return 两个值,<h1><Link>。这是语法错误。您需要将它们包装在一个元素中,例如<div>.

另见 http://facebook.github.io/react/tips/maximum-number-of-jsx-root-nodes.html