Javascript ReactJS+;狼吞虎咽+;Reactify+;Browserify元素类型无效:应为字符串,但Get:未定义
我得到这个错误: bundle.js:26912未捕获错误:元素类型无效:需要字符串(对于内置组件)或类/函数(对于复合组件),但得到:未定义。您可能忘记了从定义组件的文件中导出组件 目录结构Javascript ReactJS+;狼吞虎咽+;Reactify+;Browserify元素类型无效:应为字符串,但Get:未定义,javascript,reactjs,gulp,react-router,Javascript,Reactjs,Gulp,React Router,我得到这个错误: bundle.js:26912未捕获错误:元素类型无效:需要字符串(对于内置组件)或类/函数(对于复合组件),但得到:未定义。您可能忘记了从定义组件的文件中导出组件 目录结构 。 ├── 组件 │ ├── index.js │ ├── NavBar.js │ └── 签名 ├── css │ └── 样式表 ├── index.html └── main.js您已经在路径中编写了组件而不是组件。将main.js文件替换为以下文件- var React = re
。
├── 组件
│ ├── index.js
│ ├── NavBar.js
│ └── 签名
├── css
│ └── 样式表
├── index.html
└── main.js
您已经在路径
中编写了组件
而不是组件
。将main.js文件替换为以下文件-
var React = require('react');
var ReactDOM = require('react-dom');
import {Router, Route, browserHistory} from 'react-router';
var Navbar = require("./components/NavBar");
var SidePanel = require("./components/index");
var App = React.createClass({
render : function() {
return (
<div className="Main">
<Navbar/>
<div className="container">
<SidePanel />
<div className="row">
</div>
</div>
</div>
)
}
});
ReactDOM.render((<Router history={browserHistory}><Route path="/" components={App}/></Router>),document.getElementById('app'));
var React=require('React');
var ReactDOM=require('react-dom');
从“react Router”导入{Router,Route,browserHistory};
var Navbar=需要(“./组件/Navbar”);
var侧面板=需要(“./组件/索引”);
var App=React.createClass({
render:function(){
返回(
)
}
});
ReactDOM.render((),document.getElementById('app');
您确定Navbar
和SidePanel
返回了有效的元素吗?您能粘贴Navbar和SidePanel的代码吗?请尝试“是”,因为我一删除react路由,我的组件就会显示出来perfectly@Kinnza我认为问题在于反应路由器,我一卸下路由器就没有错误……你有没有试着简化事情?使用App创建路由,但在App中不要使用任何其他组件,只需在那里放置一个简单的Div。你还知道错误吗?如果你不使用路由器,只是简单地渲染应用程序,它能工作吗?是从'react router'ES6语法导入{router,Route,browserHistory}吗。。??ES5应该使用什么?@TarangDave您可以使用var Router=require('react-Router')。Router;var Route=require('react-router')。路由;var browserHistory=require('react-router')。browserHistory代码>对于ES5,您是否正在导出
?在Route中使用browserHistory?是的…Signin.js导出index.js所需的SignIpForm,index.js再次使用它并导出侧面板