私はReactの初心者ですので、熟練者がすぐに問題を発見します。これは私のrouter.js
です:Uncaught TypeError:TodoListは関数ではありません
define(["backbone", "react", "jsx!view/todoList"], function(Backbone, React, ReactDOM, TodoList) {
return Backbone.Router.extend({
routes : {
"" : "index"
},
index : function() {
console.log("hello world");
var todos = new Backbone.Collection([
{
text: 'Dishes!',
dueDate: new Date()
}
]);
React.render(<TodoList todos={todos} />, document.body);
}
});
});
私はコンソールで次のエラーを取得する:VM7282:19 Uncaught TypeError: TodoList is not a function
。
おそらく、廃止予定のJSXTransformer(https://facebook.github.io/react/blog/2015/06/12/deprecating-jstransform-and-react-tools.html)の問題が考えられます。 Babelは代わりに使用するように提案されています(私の場合、jsx!view/todoListではなくbabel!view/todoListを使用します)。私が問題にしているのは、どこからbabel.jsをインポートするかです。ここでhttp://facebook.github.io/react/docs/displaying-data.html彼らはhttps://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.23/browser.min.jsをインポートしますが、私は同じバーベルを行うとき!view/todoListは動作していません。
todolistのはJSXビュー/ todolistのでライン1にインポートされます。 JSXプラグインは、ビューフォルダ内のファイルtodoList.jsをロードするために使用されます。 私は参考にhttps://blog.mayflower.de/3937-Backbone-React.htmlを使用しましたが、まだ正しくインポートされていない理由はわかりません。 – Danijela
問題は非推奨のJSXTransformer(https://facebook.github.io/react/blog/2015/06/12/deprecating-jstransform-and-react-tools.html)です。 Babelは代わりに使用するように提案されています(私の場合、jsx!view/todoListではなくbabel!view/todoListを使用します)。私が問題にしているのは、どこからbabel.jsをインポートするかです。ここでhttp://facebook.github.io/react/docs/displaying-data.html彼らはhttps://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.23/browser.min.jsをインポートするが、私は同じバーベルを行うとき!view/todoListは動作していません。 – Danijela