0

我正在尝试渲染一个名为 Navbar 的简单嵌套 React 组件,但是当我在其中使用另一个组件(或在本例中为 Link 标签)时,控制台给了我“未捕获的错误:找不到模块“../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,但除了嵌套组件之外,路由、构建和同步似乎工作正常。

4

1 回答 1

0

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

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

于 2015-03-15T08:52:10.560 回答