Javascript 如何使用socket.io将整个状态json数据从服务器发送到react客户端?

Javascript 如何使用socket.io将整个状态json数据从服务器发送到react客户端?,javascript,json,node.js,reactjs,socket.io,Javascript,Json,Node.js,Reactjs,Socket.io,基本上,下面这段代码就是我在客户端上为时间戳设置状态的代码,但我想在这里设置所有json数据 constructor(props) { super(props); subscribeToTimer((err, timestamp) => this.setState({ timestamp })); } 这就是我在api组件中所做的,请注意,我希望首先将来自服务器的json数据放在这里 import openSocket from 'socket.io-c

基本上,下面这段代码就是我在客户端上为时间戳设置状态的代码,但我想在这里设置所有json数据

constructor(props) {
  super(props);

  subscribeToTimer((err, timestamp) => this.setState({ 
    timestamp
  })); 
} 
这就是我在api组件中所做的,请注意,我希望首先将来自服务器的json数据放在这里

   import openSocket from 'socket.io-client';

   const  socket = openSocket('http://localhost:8000');

   function subscribeToTimer(cb) {
     socket.on('timer', timestamp => cb(null, timestamp));
     //socket.on(wooOrderId = > )
     socket.emit('subscribeToTimer', 1000);
   }
   export { subscribeToTimer };
下面是我的时间戳服务器代码,我想在这里设置我的所有json数据,以便将其传输到我的客户端,如果我在某个地方出错,请纠正我,非常感谢,thx

  const io = require('socket.io')();

  io.on('connection', (client) => {
    client.on('subscribeToTimer', (interval) => {
      console.log('client is subscribing to timer with interval ', interval);
      setInterval(() => {
        client.emit('timer', new Date());
      }, interval);
    });
  });

  const port = 8000;
  io.listen(port);
  console.log('listening on port ', port);

基本方案是根据

完成的,问题在哪里?用所需的
newState
替换
timestamp
。使用
this.setState(newState)
更改状态我已经相应地替换了它,现在它可以工作了,当我传递一个对象数组和一个object时也有很大的不同,因为react state必须是一个对象。如果你愿意的话,把数组包装成一个对象。我有同样的问题。没有答案。我可以发送日期,但不能发送任何其他类型的对象