Mi equipo y yo estamos desarrollando un sistema de inicio de sesión y registro para una aplicación nativa de reacción a través de expo. Sin embargo, al escribir el nombre de usuario , la aplicación se bloquea y da el siguiente error:
TypeError: Login.setUser is not a function onChangeText {project folder}/telas/login.js:24 21 | <TextInput 22 | style={styles.input} 23 | placeholder="Nome de usuário" > 24 | onChangeText={text => Login.setUser(text)} | ^ 25 | /> 26 | 27 | <TextInputEs importante tener en cuenta que este código está exportando una clase, y la mayoría de los tutoriales (afaik) exportan una función. ¿Hay alguna forma de resolver esto sin cambiar el método de exportación?
login.js
import React, { Component, useState } from 'react' import { Alert, Text, StyleSheet, View, TextInput, TouchableOpacity, Image } from 'react-native' export function Login() { const [user, setUser] = useState(''); } export default class App extends Component { render() { return ( <View style={styles.container}> <Text style={styles.titulo}> BOM DENTE </Text> <Image style={styles.logo} source={require('../assets/icon.png')} /> <TextInput style={styles.input} placeholder="Nome de usuário" onChangeText={text => Login.setUser(text)} /> <TextInput style={styles.input} secureTextEntry={true} placeholder="Senha" /> <TouchableOpacity style={styles.botao} > <Text style={styles.botaoText}> LOGIN </Text> </TouchableOpacity> </View> ) } }En reaccionar, no puede acceder al setState de un componente de esta manera: onChangeText={text => Login.setUser(text)} . Puede enviar datos a otros componentes a través de props .