Im trying to get the use effect to rerender only when the labels property has changed. i want to fetch newest changes in the labels property only when there is a change. My code below:
const usePrevious = (value: any) => {
    const ref = useRef()
    useEffect(() => {
        ref.current = value
    }, value)
    return ref.current
}
const prevLabels = usePrevious(labels)
useEffect(() => {
    if (labels !== prevLabels) {
        fetchUpdatedLabels()
    }
}, [labels, prevLabels])
const fetchUpdatedLabels = async () => {
    await axios
        .get(`/events/${printEvent.id}`)
        .then((response) => {
            const newLabels = response.data.labels
            // filter response to empty array if there are no splits left
            // if is null return empty string
            let fetchedLabels =
                newLabels !== null
                    ? newLabels
                          .toString()
                          .split(',')
                          .filter((label: string) => {
                              return label !== ''
                          }) || ''
                    : ''
            getLabels(fetchedLabels)
            print.updateEvent(printEvent.id, 'value', printEvent.value)
        })
        .catch((err) => {
            console.error(err, 'cant fetch labels from api')
        })
}
it keeps refetching nonstop, how do i achieve this?
 
     
    