如何在react中以数组的形式接收从singnalR中传来的随时间不断变化的数据
时间: 2024-03-01 22:51:38 浏览: 61
在React中,可以使用state来存储从SignalR中传来的随时间不断变化的数据。具体实现步骤如下:
1. 在组件的constructor中初始化state,用一个空数组来存储数据:
```javascript
constructor(props) {
super(props);
this.state = {
data: []
};
}
```
2. 在组件挂载后,使用SignalR订阅数据,并将数据存储到state中:
```javascript
componentDidMount() {
const connection = new signalR.HubConnectionBuilder()
.withUrl("http://localhost:5000/chatHub")
.build();
connection.start().then(() => {
connection.on("dataReceived", (data) => {
this.setState(prevState => ({
data: [...prevState.data, data]
}));
});
});
}
```
3. 在组件渲染时,将state中存储的数据以数组的形式渲染出来:
```javascript
render() {
return (
<div>
{this.state.data.map((item, index) => (
<div key={index}>{item}</div>
))}
</div>
);
}
```
这样,就可以以数组的形式接收从SignalR中传来的随时间不断变化的数据了。
阅读全文