我想将数据从一个js文件传递到另一个js文件,这里是我的代码:(react.js)
<script type="text/jsx">
/** @jsx React.DOM */
var APP=
React.createClass({
getInitialState:function(){
return{
result:[]
};
},
componentDidMount: function() {
alert("DidMount");
var data = getData();
alert("final")
},
render: function () {
alert("render");
return(
<table className="table table-bordered">
<tr>
<th>Name</th>
<th>Class</th>
<th>D.O.B</th>
</tr>
</table>
)
}
})
React.renderComponent(
<APP/>,
document.getElementById('root'));
我的js文件是:
getData1=function() {
alert("initial")
var Connection = require('tedious').Connection;
var Request = require('tedious').Request;
var config = {
userName: 'zxzx',
password: '******',
server: 'xxxxxxx',// You can use 'localhost\\instance' to connect to named instance
options: {
database: 'xxxx',
rowCollectionOnRequestCompletion: true,
useColumnNames : true
}
};
var connection = new Connection(config);
connection.on('connect', function (err) {
if (err) {
console.log(err)
}
request = new Request("SELECT * FROM XXXXX", function (err, rowCount, rows) {
if (err) {
//console.log(err);
callback(err, null);
} else {
console.log(+'rows Count: ' + rowCount);
console.log(JSON.stringify(rows));
var datas = JSON.stringify(rows);
alert(datas)
alert("rows")
return datas;
}
connection.close();
});
connection.execSql(request);
});
}
我想要的是我需要在反应中调用函数时返回数据,这里发生的是在我的控制台中它显示数据,但在反应中数据是空的,即数据不返回正确。任何人都可以为它提供解决方案吗?
答案 0 :(得分:1)
这是一个常见问题,假设您尝试使用的反应文件已经在您尝试使用它的代码之前加载,那么它可以正常工作。
只要让一个组件与另一个组件通信,您就需要查看此文档。
https://facebook.github.io/react/tips/communicate-between-components.html
当组件需要侦听全局事件等时...只需设置一个事件并让您的组件订阅它。
https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events