1nwf / Produx-v2

Detected the use of variables before they are defined JS-0357
Anti-pattern
Major
12 occurrences in this check
'setSysMsg' was used before it was defined
 45                dispath(setOnlineUsers(msg.users))
 46                return
 47            }
 48            setSysMsg(msg) 49        },
 50        onOpen: () => {
 51            const token = localStorage.getItem('token')
 39        onMessage: ({ data }) => {
 40            const msg = JSON.parse(data)
 41            if (msg.type === 'chat') {
 42                setMsgs([...msgs, msg]) 43                return
 44            } else if (msg.type === 'usersList') {
 45                dispath(setOnlineUsers(msg.users))
 39        onMessage: ({ data }) => {
 40            const msg = JSON.parse(data)
 41            if (msg.type === 'chat') {
 42                setMsgs([...msgs, msg]) 43                return
 44            } else if (msg.type === 'usersList') {
 45                dispath(setOnlineUsers(msg.users))
'setSubmit' was used before it was defined
 46            formData.append(`image${i + 1}`, productImages[i])
 47        }
 48        await createProduct(formData)
 49        setSubmit(false) 50        dispatch(setShowStep2(false))
 51        setTimeout(
 52            () =>
'setSubmit' was used before it was defined
 36        const productIcon = product.images ? product.images : []
 37        const productImages = [...productIcon, ...images]
 38        dispatch(setProductData({ ...product, images: productImages }))
 39        setSubmit(true) 40        const formData = new FormData()
 41        formData.set('name', product.name)
 42        formData.set('description', product.description)
'setImages' was used before it was defined
 14    const dispatch = useAppDispatch()
 15    const [createProduct, { error, isLoading }] = useCreateProductMutation()
 16    const closeHandler = () => {
 17        setImages([]) 18        dispatch(setShowStep2(false))
 19    }
 20    const fileRef = useRef() as MutableRefObject<HTMLInputElement>
'router' was used before it was defined
16    const [showErrMsg, setShowErrMsg] = useState(false)
17    const [token, setToken] = useState('')
18    const closeHandler = () => {
19        router.push('/')20        setShow(false)
21    }
22    const router = useRouter()
'ConfirmDelete' was used before it was defined
202                </div>
203            </div>
204            <br />
205            <ConfirmDelete206                productName={DelProduct.name}
207                productID={DelProduct.id}
208                isShown={showDelModal}
'setShowDelModal' was used before it was defined
 67    })
 68    const handleDelete = (name: string, id: number) => {
 69        setDelProduct({ name, id })
 70        setShowDelModal(true) 71    }
 72    const fileRef = useRef() as MutableRefObject<HTMLInputElement>
 73    const [showDelModal, setShowDelModal] = useState(false)
'fileRef' was used before it was defined
 52    const handleNewPfp = (e: ChangeEvent<HTMLInputElement>) => {
 53        if (fileRef.current.files) {
 54            let preview = URL.createObjectURL(fileRef.current.files[0])
 55            setPfp(fileRef.current.files[0]) 56            const newUserData = { ...userInfo, pfp: preview } as User
 57            setUserInfo(newUserData)
 58
'fileRef' was used before it was defined
 51    }
 52    const handleNewPfp = (e: ChangeEvent<HTMLInputElement>) => {
 53        if (fileRef.current.files) {
 54            let preview = URL.createObjectURL(fileRef.current.files[0]) 55            setPfp(fileRef.current.files[0])
 56            const newUserData = { ...userInfo, pfp: preview } as User
 57            setUserInfo(newUserData)
'fileRef' was used before it was defined
 50        setSave(false)
 51    }
 52    const handleNewPfp = (e: ChangeEvent<HTMLInputElement>) => {
 53        if (fileRef.current.files) { 54            let preview = URL.createObjectURL(fileRef.current.files[0])
 55            setPfp(fileRef.current.files[0])
 56            const newUserData = { ...userInfo, pfp: preview } as User