crist-12 / dinowords

0 stars 0 forks source link

Error de comunicaciones entre componentes #1

Open crist-12 opened 3 years ago

crist-12 commented 3 years ago

Surge un error al tratar de enviar parámetros entre componentes. Se procede a crear un archivo extra: data_store

Se muestra un ejemplo de la implementación

export const setData=(wordObject)=>{ Word = wordObject; return Word; }

export const getData=()=>{ return Word; }

crist-12 commented 3 years ago

La progress bar puede dar problemas al no dar soporte. Procede a instalarse otra dependencia:

npm install @react-native-community/Progress-View

crist-12 commented 3 years ago

Debido a un error de eficiencia era necesario hacer dos veces la petición, se procede a cambiar de diseño de un Bottom Tab Navigator por un Stack Navigator.

Con eso cercioramos que solamente se entra a Context desde Search asegurando el paso de parámetro.

`const App= ()=>{ return( <>

    </>
);

}; export default App;`

crist-12 commented 3 years ago

Algunas palabras dan error de respuesta por la API. Proceso de validación:

if(!search==""){ const config = { //Configuración de header de la petición headers :{ "app_id": apiId, "app_key": apiKey } } console.log("Estoy en words") try{ setActing(true); const response = await backend.get(apiUrl+search+apiUrlFinal, config); setWords(response.data); setValidatorWord(true) }catch{ setError(true); setValidatorWord(false) console.log('Error al conseguir data'); }}else{ alert("Come on, write a word!") } }

crist-12 commented 3 years ago

Corrección de validación #2 Al no encontrar palabra alguna, se procede a mostrar un link a un diccionario externo para tratar de ayudar de igual manera.

<><TextMeaning>Oh, no, something went wrong. We could not find your word <Text>{search}</Text> but we can help you. If you want to know more information about that word, you can click here.</TextMeaning> <TextLink onPress={()=> Linking.openURL("https://www.lexico.com/definition/"+search)}>Dinoclick me</TextLink></> )}