您将如何在React Redux(Express / Mongo后端)应用中重新渲染一个或多个组件?
我构建了一个应用,其中多个(经过身份验证的)用户可以在仪表板之类的Todo列表上实时进行协作(使用类似聊天的Notes代替Todo),但是希望在一段时间不活动后强制重新渲染(可能在componentDidMount中使用setInterval?),因此,如果一个用户删除任务,则一段时间后它将最终在所有其他用户的仪表板上刷新。我当时正在考虑将forceUpdate与setInterval结合使用,但请继续阅读所有应避免的地方。
我知道必须使用websockets进行实时更新,但是我想知道是否可以在不使用websockets的情况下针对这种特殊情况使用更简单的短期解决方案,因为我的应用程序确实不需要即时更新
这是主要组成部分(注释列表):
class NoteList extends Component {
componentDidMount() {
this.props.getNotes();
}
}
答案 0 :(得分:0)
您是对的,最酷的方法是使用websocket监听更改事件。但是从短期来看,投票并不是一个坏主意。只记得清除卸载组件的间隔。
componentDidMount() {
this.props.getNotes();
this.interval = setInterval(() => this.props.getNotes(), 60000);
}
componentWillUnmount() {
clearInterval(this.interval);
}