Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

322
Vistas
React Native promete pasar el valor a la variable como cadena

Soy nuevo en React Native. Tengo que crear una promesa y poder obtener los datos de respuesta.

 export async function findColor() { try{ const token = await AsyncStorage.getItem('token'); const id = await AsyncStorage.getItem('id'); const resp = ( await api(token).get(`api/blockgroup/getList`) ).data; const retVal = '"' + resp.data[0].template.mcolor +'"'; console.log (typeof retVal, retVal, 'retvalue'); return retVal; } catch(err){ return { error: true, code: err.request.status, }; } }

Pero cuando llamé a la función me sale algo como esto

{"_U": 0, "_V": 0, "_W": nulo, "_X": nulo}

Descubrí que puedo acceder al valor usando .then() mientras intentaba imprimir el valor en la consola:

 findColor().then(response => console.log(response));

Obtuve el valor de la cadena

"#0eade1"

Pero no sé cómo puedo pasar el valor a una variable como una cadena. Digamos que quiero crear un color variable y pasarle el valor "#0eade1" . ¿Cómo puedo hacer eso?

Realmente aprecio si alguien puede ayudarme. ¡Gracias!

EDITAR: solo quiero dejar esto claro. necesito pasar el valor solo como una cadena porque necesito pasarlo a otro módulo desde la importación. Tengo un módulo de configuración donde necesito cambiar el color de mi tema con el valor del gancho que llamé. esa configuración solo aceptará objetos de cadena, y no sé si debo usar el componente nativo de reacción en el módulo de configuración.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Podrías crear un gancho que maneje eso. Considere el siguiente fragmento.

 export function useColor() { const [color, setColor] = useState() React.useEffect(() => { // you should add your function in here findColor().then(response => setColor(response)) }, []) return { color, } }

Luego use su gancho en su pantalla, siempre que necesite color .

 const TestScreen = () => { // color can used however you like const {color} = useColor() }

Editar: a juzgar por los comentarios, está utilizando un componente de clase que no permite el uso de ganchos. Todavía podemos hacer lo mismo.

 constructor(props) { ... this.state = { color : "", } } componentDidMount() { findColor().then(response => this.setState({color: response})) } render() { return <Text>this.state.color</Text> }
about 4 years ago · Juan Pablo Isaza Denunciar

0

Debería probar esto con esto, puede usarlo como una llamada de función normal.

 export async function findColor() { const token = await AsyncStorage.getItem('token'); const id = await AsyncStorage.getItem('id'); api(token).get(`api/blockgroup/getList`) .then(resp=>{ const retVal = '"' + resp.data[0].template.mcolor +'"'; console.log (typeof retVal, retVal, 'retvalue'); return retVal; }); .catch((err){ return { error: true, code: err.request.status, }; }) }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda