From 3ca706f8846e358ac57876d6e8f8a092eaf08def Mon Sep 17 00:00:00 2001 From: Nitzan Yizhar Date: Wed, 29 Jan 2025 16:49:41 +0200 Subject: [PATCH 1/3] Refactor PickerItemsList to merge listProps styles using useMemo --- src/components/picker/PickerItemsList.tsx | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/components/picker/PickerItemsList.tsx b/src/components/picker/PickerItemsList.tsx index 6597e6a10b..6a8ad4d729 100644 --- a/src/components/picker/PickerItemsList.tsx +++ b/src/components/picker/PickerItemsList.tsx @@ -1,5 +1,5 @@ import _ from 'lodash'; -import React, {useCallback, useContext, useState} from 'react'; +import React, {useCallback, useContext, useMemo, useState} from 'react'; import {StyleSheet, FlatList, TextInput, ListRenderItemInfo, ActivityIndicator} from 'react-native'; import {Typography, Colors} from '../../style'; import Assets from '../../assets'; @@ -80,6 +80,13 @@ const PickerItemsList = (props: PickerItemsListProps) => { return ; }, []); + const listPropsWithMergedStyles = useMemo(() => { + return { + ...listProps, + style: [styles.list, listProps?.style] + }; + }, [listProps]); + const renderList = () => { if (items) { return ( @@ -88,7 +95,7 @@ const PickerItemsList = (props: PickerItemsListProps) => { data={items} renderItem={renderPropItems} keyExtractor={keyExtractor} - {...listProps} + {...listPropsWithMergedStyles} /> ); } @@ -99,7 +106,7 @@ const PickerItemsList = (props: PickerItemsListProps) => { renderItem={renderItem} keyExtractor={keyExtractor} testID={`${testID}.list`} - {...listProps} + {...listPropsWithMergedStyles} /> ); }; @@ -204,6 +211,10 @@ const styles = StyleSheet.create({ paddingRight: 16, flex: 1, ...Typography.text70 + }, + list: { + height: '100%', + backgroundColor: 'red' } }); From 8039f0f141b688cdc8e6f40b175008db32beb667 Mon Sep 17 00:00:00 2001 From: Nitzan Yizhar Date: Wed, 29 Jan 2025 16:52:52 +0200 Subject: [PATCH 2/3] Remove background color from PickerItemsList styles --- src/components/picker/PickerItemsList.tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/components/picker/PickerItemsList.tsx b/src/components/picker/PickerItemsList.tsx index 6a8ad4d729..ef43034f8f 100644 --- a/src/components/picker/PickerItemsList.tsx +++ b/src/components/picker/PickerItemsList.tsx @@ -213,8 +213,7 @@ const styles = StyleSheet.create({ ...Typography.text70 }, list: { - height: '100%', - backgroundColor: 'red' + height: '100%' } }); From 6d8138b91b006a3ae7b4ee1067c29b34031b68fc Mon Sep 17 00:00:00 2001 From: Nitzan Yizhar Date: Thu, 30 Jan 2025 10:05:14 +0200 Subject: [PATCH 3/3] Refactor PickerItemsList to improve variable naming for merged listProps styles --- src/components/picker/PickerItemsList.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/picker/PickerItemsList.tsx b/src/components/picker/PickerItemsList.tsx index ef43034f8f..5703d0db90 100644 --- a/src/components/picker/PickerItemsList.tsx +++ b/src/components/picker/PickerItemsList.tsx @@ -80,7 +80,7 @@ const PickerItemsList = (props: PickerItemsListProps) => { return ; }, []); - const listPropsWithMergedStyles = useMemo(() => { + const _listProps = useMemo(() => { return { ...listProps, style: [styles.list, listProps?.style] @@ -95,7 +95,7 @@ const PickerItemsList = (props: PickerItemsListProps) => { data={items} renderItem={renderPropItems} keyExtractor={keyExtractor} - {...listPropsWithMergedStyles} + {..._listProps} /> ); } @@ -106,7 +106,7 @@ const PickerItemsList = (props: PickerItemsListProps) => { renderItem={renderItem} keyExtractor={keyExtractor} testID={`${testID}.list`} - {...listPropsWithMergedStyles} + {..._listProps} /> ); };