ReactJS - 无法导入组件

时间:2015-11-04 13:58:28

标签: javascript import routes reactjs react-router

我是ReactJS的新手。我正在开发一个小页面应用程序,而我只是想创建我的组件以在我的主要组件中导入。

TestComponent.jsx

import React from 'react'

export class TestComponent extends React.Component {

    render() {
        return (
            <div className="content">Test Component</div>
        )
    }
}

main.jsx 内部,我已导入此组件调用

import TestComponent from './components/TestComponent.jsx'

然后我试图将我的组件称为特定路线:

render(
    (<Router history={history}>
        <Route path="/" component={NavMenu}>
            <IndexRoute component={Index}/>
            <Route path="test" component={TestComponent}></Route>
        </Route>
    </Router>),
    document.getElementById('main')
)

我没有从控制台收到任何错误,但我没有看到我的组件。我做错了什么?

2 个答案:

答案 0 :(得分:10)

没有花括号的导入语法用于导入默认导出,而不是用于导入命名导出。

使您的组件成为默认导出:

<强> TestComponent.jsx

import React from 'react'

export default class TestComponent extends React.Component {

    render() {
        return (
            <div className="content">Test Component</div>
        )
    }
}

或者,您应该可以使用以下import语句导入它:

import { TestComponent } from './components/TestComponent.jsx'

如果您想在React代码中使用ES6,可能需要阅读ES6模块(例如在Exploring ES6中)。

答案 1 :(得分:0)

确保在import语句之后也包含分号。在某些情况下,您可能不喜欢使用浏览器(或类似Node的环境)读取代码,但是导入功能会直接在此代码中导出。