react.js的新功能并尝试遵循本教程。不幸的是,页面中给出的代码无法正常工作。webpack抱怨
ERROR in ./App.jsx
Module build failed: SyntaxError: Only one default export allowed per module.
想知道如何解决它。谢谢。
=== App.jsx ====
import React from 'react';
import ReactDOM from 'react-dom';
import { Router, Route, Link, browserHistory, IndexRoute } from 'react-router'
class App extends React.Component {
render() {
return (
<div>
<ul>
<li><Link to = "/home">Home</Link></li>
<li><Link to = "/about">About</Link></li>
<li><Link to = "/contact">Contact</Link></li>
</ul>
{this.props.children}
</div>
)
}
}
export default App;
class Home extends React.Component {
render() {
return (
<div>
<h1>Home...</h1>
</div>
)
}
}
export default Home;
class About extends React.Component {
render() {
return (
<div>
<h1>About...</h1>
</div>
)
}
}
export default About;
class Contact extends React.Component {
render() {
return (
<div>
<h1>Contact...</h1>
</div>
)
}
}
export default Contact;
=== main.js ===
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App.jsx';
ReactDOM.render(<App/>, document.getElementById('app'));
更新1
我注释掉了所有内容,export default
并在末尾添加了以下内容
module.exports = {
App: App,
Home: Home,
About: About,
Contact: Contact
}
现在没有编译错误,但是网页为空白。我不确定这里出什么问题了。
您只能声明一个默认出口,例如:
export default App;
要么 export default class App extends React.Component {...
然后做 import App from './App'
如果要导出更多内容,则可以使用 命名的 导出内容,而无需使用default
关键字声明即可,例如:
export {
About,
Contact,
}
要么:
export About;
export Contact;
要么:
export const About = class About extends React.Component {....
export const Contact = () => (<div> ... </div>);
然后像这样导入它们:
import App, { About, Contact } from './App';
编辑:
本教程中有一个错误,因为不可能在同一main.js
文件中进行3个默认导出。除此之外,如果文件外没有使用任何内容,为什么还要导出任何内容?正确的main.js
:
import React from 'react';
import ReactDOM from 'react-dom';
import { Router, Route, Link, browserHistory, IndexRoute } from 'react-router'
class App extends React.Component {
...
}
class Home extends React.Component {
...
}
class About extends React.Component {
...
}
class Contact extends React.Component {
...
}
ReactDOM.render((
<Router history = {browserHistory}>
<Route path = "/" component = {App}>
<IndexRoute component = {Home} />
<Route path = "home" component = {Home} />
<Route path = "about" component = {About} />
<Route path = "contact" component = {Contact} />
</Route>
</Router>
), document.getElementById('app'))
编辑2:
另一件事是本教程基于react-router-V3,它的API与v4不同。
我正在尝试创建一个导出多个ES6类的模块。假设我有以下目录结构: 和每个导出一个默认ES6类: 我目前有我的设置如下: 但是,我无法导入。我希望能够这样做,但找不到类: 在ES6模块中导出多个类的正确方法是什么?
我试图上传一个图像到内存使用multer,然后处理它与夏普和保存到磁盘。当我尝试在我的中间件中做多个module.exports时。 错误是: TypeError FileUpload.Single不是函数 到目前为止的路线是: 当我刚刚有下面的路由之前,尝试添加图像处理,我没有得到一个错误;
我试图实现的是创建一个包含多个功能的模块。 模块. js: 我遇到的问题是,是一个对象类型,是一个URL字符串,但是当我有这个时,它总是抱怨类型是错误的。 这种情况下如何申报多个module.exports?
问题内容: 目前,我在自己的文件中有4个子类。我要求它们都在同一个文件中。我想知道是否可以在一个模块中包含所有这四个类。目前,我正在像这样导入它们 我想这样导入 甚至 我的班级定义如下 问题答案: 您可以这样导出多个类: 例如 People.js 并按照您正确提到的方式访问这些类:
我正在尝试将钩子{count,setCount}=useState(0)导出到另一个函数,以便能够获取{count}值。我的应用程序是通过添加项目来制作一个简单的清单,然后当按下提交按钮时,获取该清单的渲染。 以下是我的库存对象列表: 最好的方法是将我的钩子移动到应用程序函数中,但是增加或减少{计数}会影响我的所有项目。 在运行函数displayOrder时,是否仍要为每个项呈现{count}?
本文向大家介绍在React.js中发出HTTP请求,包括了在React.js中发出HTTP请求的使用技巧和注意事项,需要的朋友参考一下 在典型的Web应用程序中,客户端通过浏览器发出http请求,而服务器在响应中发送带有数据的html页面。 但是在单页应用程序(SPA)中,我们只有一页,每当客户端向服务器发出http请求时,它通常都会以json / xml格式的数据进行响应。 为了发出http请求