React Native - Redux ou Context API, como e porque?

30/01/2020

0

Olá, meu código ele precisa mandar um texto para outra tela, de acordo com o checkbox que for marcado. A mensagem que dever ser mandada pra outra tela deve ser aquela no qual teve o checkbox de "grau" mais alto. Por exemplo: se o checkbox de grau 3 for acionado e o grau 2 também, a mensagem a ser exibida na outra tela deve ser a de grau 3. Já li redux, mas me compliquei no entendimento e li sobre context api tambbém. Neste momento não sei qual das duas libs usar. Alguém pode me ajudar?

import React from ''react'';
import { StyleSheet ,View, Text, TouchableOpacity, ScrollView } from ''react-native'';

import MyCheckBox from ''../../../components/mycheckbox'';

function Distancia({ navigation }){

    return (
        <ScrollView contentContainerStyle={styles.scrollViewStyle}>
            <Text style={styles.textPage}>Avalie:</Text>
            <MyCheckBox grau={''3''} label={''Muito longe''} />
            <MyCheckBox grau={''3''} label={"Longe"} />
            <MyCheckBox grau={''3''} label={"Distante"} />
            <MyCheckBox grau={''2''} label={"Metade do caminho"} />
            <MyCheckBox grau={''1''} label={"Perto} />
            <View style={styles.viewButton}>           
                <TouchableOpacity 
                    style={styles.goButton}
                    onPress={() => { 
                        if(grau==3){
                            navigation.navigate(''Classificacao'', {
                                risco:''Não vale a pena'',
                                corBackground: ''#fa5858'',
                                corLetra:''#fff''
                            });
                        }
                        if(grau==2){
                            navigation.navigate(''Classificacao'', {
                                risco:''Pode tentar'',
                                corBackground: ''#f4fa58'',
                                corLetra:''#000''
                            });
                        }
                        if(grau==1){
                            navigation.navigate(''Classificacao'', {
                                risco:''Vale a pena'',
                                corBackground: ''#81f781'',
                                corLetra: ''#000''
                            });
                        }else{
                        }
                    }} 
                >                    
                    <Text style={styles.textButton}>Resultado</Text>
                </TouchableOpacity>
            </View>
        </ScrollView>
    );
}

const styles = StyleSheet.create({...});

export default Distancia;
Victor Lourenço

Victor Lourenço

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar