给出一个React代码:
<script type="text/babel">
var Var = React.createClass({
render: function() {
return (
var args = {
"q": "data",
"offset": "0"
};
$.ajax({
....headers and other stuff).done(function(JSONdata) {
console.log(JSONdata);
}).fail(function() {
alert("You have an error");
});
);
}
});
ReactDOM.render(<Var />, document.getElementById('div'));
我收到错误Uncaught SyntaxError: embedded: Unexpected token
,显示以下行:
render: function() {
return (
var args = {
"q": "data",
"offset": "0"
};
我认为它与花括号有关,但在React模块中编写它们的正确方法是什么?或者这里的实际错误是什么?
我有babel并且反应src已经包含在我的html文件中。我需要args
中的所有键值才能通过ajax发送请求。
答案 0 :(得分:0)
解决方法就是将您的返回包装起来,只是自动执行它 进入一个功能
return (function(){
var args = {
"q": "data",
"offset": "0"
};
$.ajax({
....headers and other stuff).done(function(JSONdata) {
console.log(JSONdata);
}).fail(function() {
alert("You have an error");
});
});
所以你的代码就像这样
var Var = React.createClass({
render: function() {
return (function(){
var args = {
"q": "data",
"offset": "0"
};
$.ajax({
....headers and other stuff).done(function(JSONdata) {
console.log(JSONdata);
}).fail(function() {
alert("You have an error");
});
})();
}
});
ReactDOM.render(<Var />, document.getElementById('div'));