Skip to content

Commit ce6d17b

Browse files
committed
SearchForm optimization
1 parent ebbe4b8 commit ce6d17b

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

src/components/SearchForm/index.tsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ const SearchForm = (props: Props) => {
3636
props.search(category, genre, query);
3737
};
3838

39+
const renderDropdownItem = useCallback((item: SearchParam) => ({ id: item.id, el: item.label }), []);
40+
3941
return (
4042
<div className="search-form">
4143
{(props.selectedCategory || props.selectedGenre || props.selectedQuery) && (
@@ -76,15 +78,15 @@ const SearchForm = (props: Props) => {
7678
<div className="search-form__field" data-testid="category-dropdown">
7779
<Dropdown<SearchParam>
7880
items={props.availableCategories || []}
79-
renderItem={i => ({ id: i.id, el: i.label })}
81+
renderItem={renderDropdownItem}
8082
onSelect={handleCategorySelected}
8183
placeholder="Category"
8284
/>
8385
</div>
8486
<div className="search-form__field" data-testid="genre-dropdown">
8587
<Dropdown<SearchParam>
8688
items={props.availableGenres || []}
87-
renderItem={i => ({ id: i.id, el: i.label })}
89+
renderItem={renderDropdownItem}
8890
onSelect={handleGenreSelected}
8991
placeholder="Genre"
9092
/>
@@ -113,4 +115,4 @@ const SearchForm = (props: Props) => {
113115

114116
SearchForm.displayName = 'SearchForm';
115117

116-
export default SearchForm;
118+
export default React.memo(SearchForm);

0 commit comments

Comments
 (0)