1- import React , { useState , useRef , useEffect } from "react" ;
1+ import React , { useState , useRef , useEffect , useMemo } from "react" ;
22import FilterEnableCheckbox from "./FilterEnableCheckbox" ;
33import Tooltip from "./ToolTip" ;
44
55export default function UploadField ( props ) {
66 let paramFieldType = "slider" ;
77
8- const values = [
8+
9+ const values = useMemo ( ( ) => [
910 1 , 1.5 , 2 , 2.5 , 3 , 3.5 , 4 , 4.5 , 5 , 5.5 ,
1011 6 , 7 , 7.5 , 8 , 8.5 , 9 , 10 , 11 , 12 , 13.5 ,
1112 14 , 15 , 20 , 22.5 , 30 , 45
12- ] ;
13+ ] , [ ] ) ;
1314
1415 const [ minIndex , setMinIndex ] = useState ( 0 ) ;
1516 const [ maxIndex , setMaxIndex ] = useState ( values . length - 1 ) ;
@@ -19,14 +20,14 @@ export default function UploadField(props) {
1920
2021 useEffect ( ( ) => {
2122 for ( let i = 0 ; i < values . length ; i ++ ) {
22- if ( values [ i ] === props . initialValues [ 0 ] ) {
23+ if ( values [ i ] === props ? .initialValues [ 0 ] ) {
2324 setMinIndex ( i ) ;
2425 }
25- if ( values [ i ] === props . initialValues [ 1 ] ) {
26+ if ( values [ i ] === props ? .initialValues [ 1 ] ) {
2627 setMaxIndex ( i ) ;
2728 }
2829 }
29- } , [ ] ) ; // Empty dependency array ensures this runs only once
30+ } , [ props ?. initialValues , values ] ) ; // Empty dependency array ensures this runs only once
3031
3132
3233 const handleDrag = ( e , thumbType ) => {
@@ -110,7 +111,7 @@ export default function UploadField(props) {
110111 window . addEventListener ( "mousemove" , move ) ;
111112 window . addEventListener ( "mouseup" , up ) ;
112113 } }
113- onTouchStart = { ( e ) => {
114+ onTouchStart = { ( ) => {
114115 const move = ( ev ) => handleDrag ( ev , "min" ) ;
115116 const end = ( ) => {
116117 window . removeEventListener ( "touchmove" , move ) ;
@@ -139,7 +140,7 @@ export default function UploadField(props) {
139140 window . addEventListener ( "mousemove" , move ) ;
140141 window . addEventListener ( "mouseup" , up ) ;
141142 } }
142- onTouchStart = { ( e ) => {
143+ onTouchStart = { ( ) => {
143144 const move = ( ev ) => handleDrag ( ev , "max" ) ;
144145 const end = ( ) => {
145146 window . removeEventListener ( "touchmove" , move ) ;
0 commit comments