Team Project 09.06 TIL
React-Native를 활용한 로그인, 회원가입 UI만들기
Firebase와 연결하여 UI내에서 회원가입시 유저정보 서버에 전송하기
import React, {useState, useContext} from 'react';
import {View, StyleSheet} from 'react-native';
import {Title, IconButton} from 'react-native-paper';
import FormInput from '../components/FormInput';
import FormButton from '../components/FormButton';
import {AuthContext} from '../navigation/AuthProvider';
export default function SignupScreen({navigation}) {
const [email, setEmail] = useState('');
const [password, setPassword] = useState('');
const {register} = useContext(AuthContext);
return (
<View style={styles.container}>
<Title style={styles.titleText}>회원가입</Title>
<FormInput
labelName="Email"
value={email}
autoCapitalize="none"
onChangeText={(userEmail) => setEmail(userEmail)}
/>
<FormInput
labelName="Password"
value={password}
secureTextEntry={true}
onChangeText={(userPassword) => setPassword(userPassword)}
/>
<FormButton
title="Signup"
modeValue="contatined"
labelStyle={styles.loginButtonLabel}
onPress={() => register(email, password)}
/>
<IconButton
icon="keyboard-backspace"
size={30}
style={styles.navButton}
color="#6646ee"
onPress={() => navigation.goBack()}
/>
</View>
);
}
const styles = StyleSheet.create({
container: {
backgroundColor: '#f5f5f5',
flex: 1,
justifyContent: 'center',
alignItems: 'center',
},
titleText: {
fontSize: 24,
marginBottom: 10,
},
loginButtonLabel: {
fontSize: 22,
},
navButtonText: {
fontSize: 18,
},
navButton: {
marginTop: 10,
fontSize: 18,
},
});