0
我有以下senario,我想发送一个布尔值给我的React组件。我能够在我的server.js中发出并调用我的方法,但是我无法弄清楚如何在执行后发回数据。使用Socket.io和React将数据从服务器发送回客户端
Server.js:
...
const io = require('socket.io')(server);
var fetch =() => {
url = 'abc';
request(url, function(error, response, html){
...
fs.writeFile(__dirname + '/data/output.json', JSON.stringify(result, null, 4), function(err){
if(err) {
throw err;
} else {
console.log('File successfully written! - Check your project directory for the output.json file');
io.on('connection', (socket) => {
console.log('send data back to component');
});
}
});
})
}
io.on('connection', (socket) => {
//console.log('a user connected');
socket.on('disconnect',() => {
console.log('user disconnected');
});
socket.on('fetchData',() => {
fetch();
});
});
Component.js(反应)
...
handleClick() {
socket.emit('fetchData');
}
render() {
return (
<div>
<button onClick={(e) => this.handleClick(e)}>Fetch</button>
</div>
)
}
我不得不重新配置在我的server.js说我没有交什么。不过,谢谢 – user992731