Skip to content

Commit c5439dd

Browse files
authored
fix: memoize examples to prevent repeated re-renders when typing in … (#10554)
fix: memoize examples to prevent repeated re-renders when typing in search field
1 parent 832ae7d commit c5439dd

1 file changed

Lines changed: 14 additions & 12 deletions

File tree

  • src/frontend/src/modals/templatesModal/components/TemplateContentComponent

src/frontend/src/modals/templatesModal/components/TemplateContentComponent/index.tsx

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,20 @@ export default function TemplateContentComponent({
1919
}: TemplateContentProps) {
2020
const allExamples = useFlowsManagerStore((state) => state.examples);
2121

22-
const examples = allExamples
23-
.filter((example) => {
24-
if (!ENABLE_KNOWLEDGE_BASES && example.name?.includes("Knowledge")) {
25-
return false;
26-
}
27-
return true;
28-
})
29-
.filter(
30-
(example) =>
31-
example.tags?.includes(currentTab ?? "") ||
32-
currentTab === "all-templates",
33-
);
22+
const examples = useMemo(() => {
23+
return allExamples
24+
.filter((example) => {
25+
if (!ENABLE_KNOWLEDGE_BASES && example.name?.includes("Knowledge")) {
26+
return false;
27+
}
28+
return true;
29+
})
30+
.filter(
31+
(example) =>
32+
example.tags?.includes(currentTab ?? "") ||
33+
currentTab === "all-templates",
34+
);
35+
}, [allExamples, currentTab]);
3436

3537
const [searchQuery, setSearchQuery] = useState("");
3638
const [filteredExamples, setFilteredExamples] = useState(examples);

0 commit comments

Comments
 (0)