From 17198767342d048714dca55b4dadcc713e2de543 Mon Sep 17 00:00:00 2001 From: Thomas Nordquist Date: Sun, 20 Jan 2019 18:48:18 +0100 Subject: [PATCH] Fix state mixup --- app/src/components/Sidebar/Sidebar.tsx | 2 +- app/src/components/Tree/Tree.tsx | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/app/src/components/Sidebar/Sidebar.tsx b/app/src/components/Sidebar/Sidebar.tsx index bb86f32..f7ae981 100644 --- a/app/src/components/Sidebar/Sidebar.tsx +++ b/app/src/components/Sidebar/Sidebar.tsx @@ -29,7 +29,7 @@ import Publish from './Publish/Publish' import Topic from './Topic' import ValueRenderer from './ValueRenderer' import { connect } from 'react-redux' -import { bindActionCreators } from 'redux'; +import { bindActionCreators } from 'redux' const throttle = require('lodash.throttle') diff --git a/app/src/components/Tree/Tree.tsx b/app/src/components/Tree/Tree.tsx index bd51322..99071e2 100644 --- a/app/src/components/Tree/Tree.tsx +++ b/app/src/components/Tree/Tree.tsx @@ -47,7 +47,7 @@ class Tree extends React.Component { average.push(Date.now(), ms) } - public throttledStateUpdate(state: any) { + public throttledTreeUpdate() { if (this.updateTimer) { return } @@ -61,7 +61,7 @@ class Tree extends React.Component { this.lastUpdate = performance.now() this.updateTimer && clearTimeout(this.updateTimer) this.updateTimer = undefined - this.setState(state) + this.setState(this.state) }, { timeout: 500 }) }, Math.max(0, timeUntilNextUpdate)) } @@ -75,6 +75,7 @@ class Tree extends React.Component { if (this.props.connectionId) { this.setState({ tree: new q.Tree() }) rendererEvents.unsubscribeAll(makeConnectionMessageEvent(this.props.connectionId)) + this.updateTimer && clearTimeout(this.updateTimer) } if (nextProps.connectionId) { rendererEvents.subscribe(makeConnectionMessageEvent(nextProps.connectionId), this.handleNewData) @@ -95,7 +96,7 @@ class Tree extends React.Component { node.mqttMessage = msg this.state.tree.updateWithNode(node.firstNode()) - this.throttledStateUpdate({ msg, tree: this.state.tree }) + this.throttledTreeUpdate() } public render() {