Przekazanie wartości przez komponenty

Przekazanie wartości przez komponenty
TM
  • Rejestracja:prawie 4 lata
  • Ostatnio:około miesiąc
  • Postów:91
0

W komponencie gdzie mam zdefiniowaną FlatListe przekazuje dane do komponentu Product w którym mam definicje produktów. Chciałbym teraz aby po naciśnięciu produktu dalej były przesyłana dane do innego komponentu Term a przynajmniej sam id. Jak mogę w tym wypadku przekazać teraz dane z Product do TermeScreen ?

Kopiuj
<FlatList 
          numColumns={3}
          data={product}
          keyExtractor={item => item.id}
          renderItem={({ item }) => (<Product {...item} />)}></FlatList>

Fragment komponentu Product

Kopiuj
function Product({id, image, title}) {
    const navigation = useNavigation();
        return (
            <View style={styles.rootCointener}>
                <TouchableOpacity onPress={() => {navigation.replace('Term')}}>
                    <Image style={styles.imageCointener} source={image} />
                </TouchableOpacity>
                <Text style={styles.textCointener}>{title}</Text>
            </View>
        )
}

fragment nowego Komponentu

Kopiuj
function TermeScreen (){
    return(
    <View >
    
    </View>
    )
}
edytowany 2x, ostatnio: Riddle
Gouda105
  • Rejestracja:prawie 8 lat
  • Ostatnio:około miesiąc
  • Postów:487
2

A gdzie problem. Nie widzę w twoim poście żadnego pytania. Jeśli chodzi Ci, jak przesyłać dane między komponentami to zapoznaj się z props, ewentualnie useContext.

Xarviel
  • Rejestracja:ponad 3 lata
  • Ostatnio:około 4 godziny
  • Postów:847
1

Możesz także przekazać ID produktu przez routing

https://reactnavigation.org/docs/params/

SZ
  • Rejestracja:ponad 14 lat
  • Ostatnio:około 4 godziny
  • Postów:181
0

Masz już problem rozwiązany, jak chcesz coś przekazać do innego komponentu użyj propsów.
Jeśli te dane maja być używane do zagnieżdżonych komponentów, proponuje użyć coś do stanu, jak React Context czy Redux.
Lub jak Wyżej napisano, jak to działa jako strona produkty etc, wiec de facto masz router do tego to ID przekazujesz w paramsach routera.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.