Improve performance of the map by using Pure Components
This commit is contained in:
parent
9bd5d5c9c8
commit
fe814718eb
6 changed files with 9 additions and 9 deletions
|
|
@ -35,7 +35,7 @@ export type AppState = {
|
||||||
mqttConnected: boolean,
|
mqttConnected: boolean,
|
||||||
};
|
};
|
||||||
|
|
||||||
class App extends React.Component<AppProps & Classes, AppState> {
|
class App extends React.PureComponent<AppProps & Classes, AppState> {
|
||||||
constructor(props: AppProps & Classes) {
|
constructor(props: AppProps & Classes) {
|
||||||
super(props);
|
super(props);
|
||||||
this.state = {
|
this.state = {
|
||||||
|
|
@ -89,11 +89,11 @@ class App extends React.Component<AppProps & Classes, AppState> {
|
||||||
const topic = topics[i];
|
const topic = topics[i];
|
||||||
const parseValue = this.topics[topic].type;
|
const parseValue = this.topics[topic].type;
|
||||||
const val = parseValue == null ? message.toString() : parseValue(message);
|
const val = parseValue == null ? message.toString() : parseValue(message);
|
||||||
this.setState({mqttState: merge(this.state.mqttState,
|
this.setState({mqttState: Object.assign({}, merge(this.state.mqttState,
|
||||||
{ [topic]: {
|
{ [topic]: {
|
||||||
actual: val,
|
actual: val,
|
||||||
internal: keyOf(this.topics[topic].values, val) || val
|
internal: keyOf(this.topics[topic].values, val) || val
|
||||||
}})});
|
}}))});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ export type ControlMapProps = {
|
||||||
state: State
|
state: State
|
||||||
};
|
};
|
||||||
|
|
||||||
export default class ControlMap extends React.Component<ControlMapProps> {
|
export default class ControlMap extends React.PureComponent<ControlMapProps> {
|
||||||
constructor(props: ControlMapProps) {
|
constructor(props: ControlMapProps) {
|
||||||
super(props);
|
super(props);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ export type SideBarProps = {
|
||||||
export type SideBarState = {
|
export type SideBarState = {
|
||||||
};
|
};
|
||||||
|
|
||||||
class SideBar extends React.Component<SideBarProps & Classes, SideBarState> {
|
class SideBar extends React.PureComponent<SideBarProps & Classes, SideBarState> {
|
||||||
constructor(props: SideBarProps & Classes) {
|
constructor(props: SideBarProps & Classes) {
|
||||||
super(props);
|
super(props);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ export type TopBarState = {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export default class TopBar extends React.Component<TopBarProps, TopBarState> {
|
export default class TopBar extends React.PureComponent<TopBarProps, TopBarState> {
|
||||||
constructor(props: TopBarProps) {
|
constructor(props: TopBarProps) {
|
||||||
super(props);
|
super(props);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ type UiItemProps<I> = {
|
||||||
};
|
};
|
||||||
|
|
||||||
// eslint-disable-next-line flowtype/no-weak-types
|
// eslint-disable-next-line flowtype/no-weak-types
|
||||||
export default class UiItem<I:Object> extends React.Component<UiItemProps<I>> {
|
export default class UiItem<I:Object> extends React.PureComponent<UiItemProps<I>> {
|
||||||
constructor(props: UiItemProps<I>) {
|
constructor(props: UiItemProps<I>) {
|
||||||
super(props);
|
super(props);
|
||||||
}
|
}
|
||||||
|
|
@ -236,7 +236,7 @@ export class Progress extends UiControl<UIProgress> {
|
||||||
return [
|
return [
|
||||||
<ListItemText key="label" secondary={this.props.item.text} />,
|
<ListItemText key="label" secondary={this.props.item.text} />,
|
||||||
<div style={{ flex: "10 1 auto" }} key="progressbar">
|
<div style={{ flex: "10 1 auto" }} key="progressbar">
|
||||||
<LinearProgress mode="determinate" value={value} />
|
<LinearProgress variant="determinate" value={value} />
|
||||||
</div>
|
</div>
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ export type UiItemListProps = {
|
||||||
onChangeState: (topic: string, nextState: Actual) => void
|
onChangeState: (topic: string, nextState: Actual) => void
|
||||||
};
|
};
|
||||||
|
|
||||||
export default class UiItemList extends React.Component<UiItemListProps> {
|
export default class UiItemList extends React.PureComponent<UiItemListProps> {
|
||||||
constructor(props: UiItemListProps) {
|
constructor(props: UiItemListProps) {
|
||||||
super(props);
|
super(props);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue