import React, { useState, useEffect } from 'react';
import { View, TextInput, StyleSheet, Text, DeviceEventEmitter } from 'react-native';
import { useNavigation } from 'react-navigation-hooks';
import _ from 'lodash';
import { useSelector, shallowEqual } from 'react-redux';
import { dispatch } from '~/modules/redux-app-config';
import UI from '~/modules/UI';
import MyTouchableOpacity from '~/components/MyTouchableOpacity';
function PageRegister() {
const { navigate } = useNavigation();
const [account, setAccount] = useState('');
const [pwd, setPwd] = useState('');
useEffect(() => {
console.log('i was sssssssssss');
function handleStatusChange(status) {
setAccount(status);
}
let listen = DeviceEventEmitter.addListener('ss', handleStatusChange);
// clean
return () => {
DeviceEventEmitter.removeListener(listen);
};
}, []);
// 点击按钮发送请求
const loginClick = async () => {
navigate('purchaseRecording');
const ret = await new Promise(res => {
dispatch('GET_USERINFO', {
res,
});
});
console.log('ret: ', ret);
};
// connect redux
const userInfo = useSelector(state => state.userInfo, shallowEqual);
const { user } = userInfo;
console.log('user: ', user);
return (
<View style={styles.container}>
<Text style={styles.titleText}>HSJ</Text>
<TextInput
placeholder="请输入账号"
style={styles.input}
value={account}
onChangeText={text => setAccount(text)}
/>
<TextInput
placeholder="请输入密码"
style={styles.input}
value={pwd}
onChangeText={text => {
setPwd(text);
}}
/>
<MyTouchableOpacity style={styles.loginTouch} onPress={loginClick}>
<Text style={styles.loginText}>登录</Text>
</MyTouchableOpacity>
</View>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
alignItems: 'center',
justifyContent: 'center',
},
titleText: {
fontSize: UI.scaleSize(35),
fontWeight: 'bold',
color: UI.color.black,
},
input: {
height: UI.scaleSize(40),
width: UI.size.deviceWidth - UI.scaleSize(60),
borderWidth: UI.scaleSize(1),
borderColor: UI.color.black,
marginTop: UI.scaleSize(20),
borderRadius: UI.scaleSize(20),
},
loginTouch: {
marginTop: UI.scaleSize(30),
borderWidth: UI.scaleSize(1),
width: UI.size.deviceWidth - UI.scaleSize(60),
height: UI.scaleSize(40),
borderRadius: UI.scaleSize(20),
borderColor: UI.color.black,
alignItems: 'center',
justifyContent: 'center',
},
loginText: {
fontSize: UI.scaleSize(18),
fontWeight: 'bold',
},
});
export default PageRegister;