我正在使用django通道更新我的React表。通道工作正常,并发送更新以作出反应。使用收到的更新,我更新了react状态,但是该表没有更新或重新呈现以显示添加的数据。我已经在控制台上记录了从通道和React状态获得的数据,它可以完美更新,我也尝试过使用React生命周期(如shouldcomponentupdate和componentdidupdate),但是状态可以完美更新,但表却没有这就是我更新状态的方式:addMessage(message) { console.log("message") this.setState({ data: [...this.state.data, message] })}setMessages(messages) { console.log(messages) this.setState({ data: messages })}这是表格外观的摘要render(){ const {data} = this.state console.log(data) //shows updated data at every update return( <table> {data.map(n => { return( <tr key={n.id}> <td> {n.name} </td> <td> {n.found} </td> <td> {n.date} </td> </tr> )})}</table>)}这是所要求的完整组件(太长了,这就是我将其最小化的原因)
2 回答
长风秋雁
TA贡献1757条经验 获得超7个赞
我能够使用redux来解决这个问题并做出生命周期方法的响应,
shouldComponentUpdate(nextProps, nextState){
if (this.state.data !== nextState.data){
this.setState({
data: nextState.data
})
return true
}
return false
}
这将比较当前状态和下一个状态。
添加回答
举报
0/150
提交
取消