繁体   English   中英

React-Native 传递用户 email 和密码提交按钮

[英]React-Native Passing users email and password to submit button

从“../MyModules/FirebaseAPI”导入 FirebaseAPI;

function 提交(){

 import FirebaseAPI from '../MyModules/FirebaseAPI'; export default function LinksScreen() { const [email, onChangeText] = React.useState('Enter Email'); const [password, onChangeText2] = React.useState('Enter Password'); const submit = () => { FirebaseAPI.createUser(email, password) } return ( <KeyboardAvoidingView style={styles.wrapper} behavior="padding"> <View style={styles.scrollViewWrapper}> <ScrollView style={styles.scrollView}> <Text style={styles.loginHeader}>Creat an Account </Text> <TextInput style={{ height: 40, borderColor: 'gray', borderWidth: 1 }} onChangeText={text => onChangeText(text)} value={email} /> <TextInput style={{ height: 40, borderColor: 'gray', borderWidth: 1 }} onChangeText={text => onChangeText2(text)} value={password} /> <TouchableOpacity style={{marginTop: '5%'}} onPress= {submit()}> <View> <Text>Submit</Text> </View> //code from FirebaseAPI.js import * as firebase from 'firebase' export const createUser = (email, password) => { firebase.auth().createUserWithEmailAndPassword(email, password).catch((error) => console.log('createUser error: ', error)); }

//ETC

我的错误是 TypeError: undefined is not an object (评估'_FirebaseAPI.default.createUser')

我认为这是一个范围界定问题,但不确定如何解决它。 仍然是新的反应。 任何帮助都是极好的!

submit function 的emailpassword不是 scope。 您要么需要将submit function 移动到组件 function 内,要么将值传递给 function

export default function LinksScreen() {
  const [email, onChangeText] = React.useState('Enter Email');
  const [password, onChangeText2] = React.useState('Enter Password');

  const submit = () => {
    FirebaseAPI.createUser(email, password)
  } 
  return (
  ....
  )

或者

 <TouchableOpacity
    style={{marginTop: '5%'}}
    onPress= {() => submit(email, password)}>
      <View>
        <Text>Submit</Text>
      </View>
</TouchableOpacity>

此外,您将 FirebaseAPI 导入导入为

import * as FirebaseAPI from '../MyModules/FirebaseAPI';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM