我是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')
)
我没有从控制台收到任何错误,但我没有看到我的组件。我做错了什么?
答案 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的环境)读取代码,但是导入功能会直接在此代码中导出。