From 3090f3a306316012148598b0d3044438eca20c33 Mon Sep 17 00:00:00 2001 From: Fedor Katurov Date: Sun, 21 Nov 2021 17:02:34 +0700 Subject: [PATCH] fixed tags effect loop --- src/components/tags/Tags/index.tsx | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/components/tags/Tags/index.tsx b/src/components/tags/Tags/index.tsx index 7b5479b0..59e74d5e 100644 --- a/src/components/tags/Tags/index.tsx +++ b/src/components/tags/Tags/index.tsx @@ -1,4 +1,4 @@ -import React, { FC, HTMLAttributes, useCallback, useEffect, useMemo, useState } from 'react'; +import React, { FC, HTMLAttributes, useCallback, useMemo, useState } from 'react'; import { TagField } from '~/components/containers/TagField'; import { ITag } from '~/redux/types'; import { uniq } from 'ramda'; @@ -42,17 +42,18 @@ export const Tags: FC = ({ } onTagsChange(uniqueTags); + setData([]); }, [data, onTagsChange, tags] ); - useEffect(() => { - setData(data.filter(title => !tags.some(tag => tag?.title?.trim() === title.trim()))); - }, [data, tags]); - const onAppendTag = useCallback( (created: string[]) => { - setData(uniq([...data, ...created]).filter(title => !tags.some(it => it.title === title))); + setData( + uniq([...data, ...created]).filter( + title => !tags.some(it => it.title?.trim() === title?.trim()) + ) + ); }, [data, setData, tags] );