diff options
| author | bobzel <zzzman@gmail.com> | 2023-12-13 21:17:50 -0500 |
|---|---|---|
| committer | bobzel <zzzman@gmail.com> | 2023-12-13 21:17:50 -0500 |
| commit | 1cf241544f8063e3d71406238a584299b6ced794 (patch) | |
| tree | cb2bf6a71abbe76e8e3ab8d6283c0daab850e0a4 /src/client/views/collections/collectionFreeForm/CollectionFreeFormInfoState.tsx | |
| parent | 35f4d108643d310e4e9da107a5839bb74cc6706f (diff) | |
cleaned up props/_props handling by inherting from ObservableReactComponent
Diffstat (limited to 'src/client/views/collections/collectionFreeForm/CollectionFreeFormInfoState.tsx')
| -rw-r--r-- | src/client/views/collections/collectionFreeForm/CollectionFreeFormInfoState.tsx | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/src/client/views/collections/collectionFreeForm/CollectionFreeFormInfoState.tsx b/src/client/views/collections/collectionFreeForm/CollectionFreeFormInfoState.tsx index dd7e12e41..0d5fcdaeb 100644 --- a/src/client/views/collections/collectionFreeForm/CollectionFreeFormInfoState.tsx +++ b/src/client/views/collections/collectionFreeForm/CollectionFreeFormInfoState.tsx @@ -1,8 +1,9 @@ -import { IReactionDisposer, makeObservable, observable, reaction } from 'mobx'; +import { IReactionDisposer, makeObservable, reaction } from 'mobx'; import { observer } from 'mobx-react'; import * as React from 'react'; -import { copyProps } from '../../../../Utils'; +import { ObservableReactComponent } from '../../ObservableReactComponent'; import './CollectionFreeFormView.scss'; +import { copyProps } from '../../../../Utils'; /** * An Fsa Arc. The first array element is a test condition function that will be observed. @@ -47,14 +48,11 @@ export interface CollectionFreeFormInfoStateProps { } @observer -export class CollectionFreeFormInfoState extends React.Component<CollectionFreeFormInfoStateProps> { +export class CollectionFreeFormInfoState extends ObservableReactComponent<CollectionFreeFormInfoStateProps> { _disposers: IReactionDisposer[] = []; - _prevProps: React.PropsWithChildren<CollectionFreeFormInfoStateProps>; - @observable _props: React.PropsWithChildren<CollectionFreeFormInfoStateProps>; - constructor(props: React.PropsWithChildren<CollectionFreeFormInfoStateProps>) { + constructor(props: any) { super(props); - this._props = this._prevProps = props; makeObservable(this); } @@ -62,7 +60,7 @@ export class CollectionFreeFormInfoState extends React.Component<CollectionFreeF return this._props.infoState; } get Arcs() { - return Object.keys(this.State).map(key => this.State[key]); + return Object.keys(this.State ?? []).map(key => this.State?.[key]); } clearState = () => this._disposers.map(disposer => disposer()); @@ -84,8 +82,8 @@ export class CollectionFreeFormInfoState extends React.Component<CollectionFreeF componentDidMount(): void { this.initState(); } - componentDidUpdate() { - copyProps(this); + componentDidUpdate(prevProps: Readonly<CollectionFreeFormInfoStateProps>) { + copyProps(this, prevProps); this.clearState(); this.initState(); } @@ -93,6 +91,6 @@ export class CollectionFreeFormInfoState extends React.Component<CollectionFreeF this.clearState(); } render() { - return <div className="infoUI">{this.State[StateMessage]}</div>; + return <div className="infoUI">{this.State?.[StateMessage]}</div>; } } |
