【发布时间】:2016-10-12 22:17:40
【问题描述】:
我正在尝试在主 js 文件的一个 jsx 文件中导入多个组件
这个问题已经回答了,但这里没有例子How to import and export components using React + ES6 + webpack?
我的代码如下
App3.jsx 文件
import React from '../node_modules/react';
export default class App2 extends React.Component {
render() {
var i = 1;
var myStyle = {
fontSize: 25,
color: '#FF0000'
}
return (
<div>
<h1>Header</h1>
<h2>Content</h2>
<p data-myattribute = "somevalue">This is the content!!!</p>
<h1>{1+1}</h1>
<h1>{i = 1 ? 'True!' : 'False'}</h1>
<h1 style = {myStyle}>Header</h1>
{ /*gsadjshds */ }
</div>
);
}
}
export default class App3 extends React.Component {
render() {
return (
<div>
<Header/>
<Content/>
</div>
);
}
}
export default class Header extends React.Component {
render() {
return (
<div>
<h1>Header</h1>
</div>
);
}
}
export default class Content extends React.Component {
render() {
return (
<div>
<h2>Content</h2>
<p>The content text!!!</p>
</div>
);
}
}
和main.js文件如下
import React from './node_modules/react';
import ReactDOM from './node_modules/react-dom';
import App from './js/App.jsx';
import App1 from './js/App1.jsx';
import {App2, App3} from './js/App3.jsx';
ReactDOM.render(<App />, document.getElementById('app'));
ReactDOM.render(<App1 />, document.getElementById('app1'));
ReactDOM.render(<App2 />, document.getElementById('app2'));
ReactDOM.render(<App3 />, document.getElementById('app3'));
但我遇到了错误
警告:React.createElement:类型不应为 null、未定义、布尔值或数字。它应该是一个字符串(对于 DOM 元素)或一个 ReactClass(对于复合组件)。
错误:元素类型无效:应为字符串(对于内置组件)或类/函数(对于复合组件),但得到:未定义。
您的帮助将不胜感激
【问题讨论】:
-
Offtopic:
<h1>{i = 1 ? 'True!' : 'False'}</h1>这可能是错误的,除非你真的想将1分配给i。 ` -
这可能与您拥有多个
export default的事实有关。尝试对所有组件使用常规导出。 -
成功了 我对所有组件都使用了常规导出,现在代码可以正常工作了 非常感谢 Gilad。很抱歉我的回复晚了,我不得不出去完成一些工作。
标签: javascript reactjs