Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 未捕获类型错误:TodoList不是函数_Reactjs_React Router_Jsx_Babeljs_Require - Fatal编程技术网

Reactjs 未捕获类型错误:TodoList不是函数

Reactjs 未捕获类型错误:TodoList不是函数,reactjs,react-router,jsx,babeljs,require,Reactjs,React Router,Jsx,Babeljs,Require,我是React方面的新手,所以可能有专家会很快发现这个问题。这是我的路由器.js: 定义([“主干”、“反应”、“jsx!视图/todoList”]、函数(主干、反应、反应域、todoList){ return Backbone.Router.extend({ 路线:{ “”:“索引” }, 索引:函数(){ log(“你好世界”); var todos=新主干网。集合([ { 文字:“菜肴!”, dueDate:新日期() } ]); React.render(,document.body);

我是React方面的新手,所以可能有专家会很快发现这个问题。这是我的
路由器.js

定义([“主干”、“反应”、“jsx!视图/todoList”]、函数(主干、反应、反应域、todoList){
return Backbone.Router.extend({
路线:{
“”:“索引”
},
索引:函数(){
log(“你好世界”);
var todos=新主干网。集合([
{
文字:“菜肴!”,
dueDate:新日期()
}
]);
React.render(,document.body);
}
});
});
我在控制台中遇到以下错误:
VM7282:19未捕获的类型错误:TodoList不是一个函数


可能问题在于不推荐使用的JSXTTransformer()。建议改用Babel(在我的例子中,使用Babel!view/todoList代替jsx!view/todoList)。我的问题是从哪里导入babel.js。这里他们进口,但当我做同样的巴别塔!视图/todoList不起作用。

这可能是一个主干问题,而不是反应问题。我不熟悉主干网,但关于React,这通常是因为您试图使用一些未正确导入或定义的组件

例如,您可能正在尝试执行以下操作:

React.render(,document.body);
没有正确导入
var TodoList=require('./TodoList')

或者实际创建组件

var TodoList=React.createClass({
render:function(){
//代码代码代码
}
})
我认为最有可能的问题是:

TodoList由jsx在第1行中导入!视图/todoList。JSX插件用于将文件加载到视图文件夹中的todoList.js。我已经使用了一个引用,但仍然不明白为什么没有正确导入它。可能问题在于不推荐使用的JSXTTransformer()。建议改用Babel(在我的例子中,使用Babel!view/todoList代替jsx!view/todoList)。我的问题是从哪里导入babel.js。这里他们进口,但当我做同样的巴别塔!视图/todoList不工作。