CF2-7: Fix с добавлением useState

This commit is contained in:
KharchenkoVV 2021-05-24 17:57:13 +05:00
parent a05122305f
commit 47262a8b8f

View File

@ -1,23 +1,27 @@
import { useState } from 'react'; import { useState, useEffect } from 'react';
import {CaretUpOutlined, CaretDownOutlined} from '@ant-design/icons' import {CaretUpOutlined, CaretDownOutlined} from '@ant-design/icons'
export const ValueDisplay = ({prefix, value, suffix, isArrowVisible}) =>{ export const ValueDisplay = ({prefix, value, suffix, isArrowVisible}) =>{
const [oldVal, setOldVal] = useState(NaN) const [oldVal, setOldVal] = useState(NaN)
const [val, setVal] = useState('---')
let val = '---'
let arrow = null let arrow = null
if(value)
if(Number.isFinite(+value)){ useEffect(()=>{
val = (+value).toPrecision(4)??'---' if(value)
if (isArrowVisible) if(Number.isFinite(+value)){
{ setVal((+value).toPrecision(4)??'---')
arrow = value > oldVal if (isArrowVisible)
? <CaretUpOutlined style={{color:"red"}} onClick={!isArrowVisible} /> {
: <CaretDownOutlined style={{color:"red"}} onClick={!isArrowVisible} /> if (value > oldVal)
setOldVal(value) arrow = <CaretUpOutlined style={{color:"red"}} />
} else if (value < oldVal)
} else arrow = <CaretDownOutlined style={{color:"red"}} />
val = value setOldVal(value)
}
} else
setVal(value)
},[value])
return(<span className='display_value'>{prefix} {val} {suffix}{arrow}</span>) return(<span className='display_value'>{prefix} {val} {suffix}{arrow}</span>)
} }