Estoy tratando de pasar una función handleNewFavourite (que actualiza mi matriz de estado de lista de favouriteList ) desde mi pantalla de HomeScreen a mi DetailsScreen de detalles a través de parámetros de navegación, pero recibo el siguiente error: Non-serializable values were found in the navigation state
¿Cómo debo pasar funciones que modificaron el estado entre diferentes pantallas de pila?
Código de pantalla de inicio:
<FlatList data={checkCategory()} renderItem={({item}) => ( <TouchableOpacity onPress={() => navigation.navigate('Details', { item, handleNewFavourite, }) }> <LessonCard lesson={item} /> </TouchableOpacity> )} />Código de pantalla detallada:
const LessonDetails = ({lesson, handleNewFavourite}: LessonProps) => { const [favourite, setFavourite] = useState<boolean>(lesson.favourite); return ( <LessonDetailsContainer> <LessonDetailsInfoContainer> <LessonDetailsCategoryHead> <LessonDetailsCategory>{lesson.category}</LessonDetailsCategory> <TouchableOpacity onPress={() => { setFavourite(!favourite); handleNewFavourite(lesson); }}> <LessonDetailsFavouriteIcon> {favourite ? '❤️' : '🤍'} </LessonDetailsFavouriteIcon> </TouchableOpacity> </LessonDetailsCategoryHead> <LessonDetailsTitle>{lesson.title}</LessonDetailsTitle> <LessonDetailsAuthor>{lesson?.author}</LessonDetailsAuthor> </LessonDetailsInfoContainer> <LessonDetailsCardImage source={{ uri: lesson.image, }} /> <LessonDetailsContentContainer> <LessonDetailsDescriptionText> {lesson.content} </LessonDetailsDescriptionText> </LessonDetailsContentContainer> </LessonDetailsContainer> ); }; export default LessonDetails;