Я создаю своего рода компонент списка. в этом компоненте я позволяю пользователю вносить некоторые изменения в плоский список. Я пытаюсь добавить опцию того, что если пользователь потянет, чтобы refre sh для возврата назад, основные данные были обработаны до его модификации. Нужна помощь, чтобы решить эту проблему
const [text, setText] = useState({});
const [switchValue, setSwitchValue ] = useState(false);
const [refresh, setRefresh] = useState(false);
const _handleOnPress = ({index}) => {
const contentCopy = text.content;
const current = contentCopy[index];
const updatedContent = [...contentCopy.slice(0, index),
{...current, repeat: current.repeat - 1}, ...contentCopy.slice(index + 1)];
setText({...text, content:updatedContent});
};
const onRefresh = () => {}
return (
<View>
<FlatList
data = {text.content}
keyExtractor = {(text) => text.id}
style = {styles.flatList}
refreshing = {refresh}
onRefresh = {onRefresh}
extraData = {text.content}
renderItem = {({item, index}) => {
{if( item.repeat === 0 ) {
return null
}
return (
<View style = {styles.listContainer}>
<TouchableOpacity onPress = {() => _handleOnPress({item, index})}>
<Amiri text = {item.text} />
<Spacer />
<PlaySound link = {item.audio_url} />
</TouchableOpacity>
<View style = {styles.repeatContianer} >
<Spacer>
<Text style = {styles.repeatText}> {item.repeat} </Text>
</Spacer>
</View>
</View>
);
}
}}
/>
</View>
);
};