React native 不带';渲染时不显示
我遵循了一个建议,在带有expo的React应用程序中添加了身份验证。问题是“登录”和“注册”两个按钮不显示 你能告诉我为什么吗? 有时当元素还没有充电时会出现这样的问题,但我不明白为什么会出现这种情况React native 不带';渲染时不显示,react-native,React Native,我遵循了一个建议,在带有expo的React应用程序中添加了身份验证。问题是“登录”和“注册”两个按钮不显示 你能告诉我为什么吗? 有时当元素还没有充电时会出现这样的问题,但我不明白为什么会出现这种情况 firebase.initializeApp({ apiKey: XXXXXXX, authDomain: XXXXXXX, databaseURL: XXXXXXX, projectId: XXXXXXX, storageBucket: XXXXXXX,
firebase.initializeApp({
apiKey: XXXXXXX,
authDomain: XXXXXXX,
databaseURL: XXXXXXX,
projectId: XXXXXXX,
storageBucket: XXXXXXX,
messagingSenderId: XXXXXXX
});
export default class Login extends React.Component {
state = {
email:'',
password:'',
error:'',
loading:false
};
onLoginPress(){
this.state({error:'', loading:true});
firebase.auth().signInWithEmailAndPassword(email, password)
.then(()=>{
this.state({error:'',loading:false})
this.props.navigation.navigater('Home')
})
.catch (()=> {
this.state({error:"authentif faild", loading:false});
})
}
onSignUpPress(){
this.state({error:'', loading:true});
firebase.auth().createWithEmailAndPassword(email, password)
.then(()=>{
this.state({error:'',loading:false})
this.props.navigation.navigater('Home')
})
.catch (()=> {
this.state({error:"authentif faild", loading:false});
})
}
renderButtonOrLoading(){
if(this.state.loading) {
return <Text> Loading </Text>
}
return
<View>
<Text> Loading </Text>
<Button
onPress={this.onLoginPress.bind(this)}
title='Log In'/>
<Button
onPress={this.onSignUpPress.bind(this)}
title="Sign Up"/>
</View>
}
render() {
return(
<View>
<FormLabel>Email</FormLabel>
<FormInput onChangeText={email => this.setState({email})}/>
<FormLabel>Password</FormLabel>
<FormInput onChangeText={password => this.setState({password })}/>
{this.renderButtonOrLoading()}
</View>
)
}
}
firebase.initializeApp({
apiKey:XXXXXXX,
authDomain:XXXXXXX,
数据库URL:XXXXXXX,
项目编号:XXXXXXX,
storageBucket:XXXXXXX,
messagingSenderId:XXXXXXX
});
导出默认类登录扩展React.Component{
状态={
电子邮件:“”,
密码:“”,
错误:“”,
加载:错误
};
onLoginPress(){
状态({错误:“”,加载:true});
firebase.auth().signiWithEmailandPassword(电子邮件,密码)
.然后(()=>{
此.state({错误:“”,加载:false})
this.props.navigation.navigator('Home'))
})
.catch(()=>{
状态({错误:“authentif faild”,加载:false});
})
}
onSignUpPress(){
状态({错误:“”,加载:true});
firebase.auth().createWithEmailAndPassword(电子邮件,密码)
.然后(()=>{
此.state({错误:“”,加载:false})
this.props.navigation.navigator('Home'))
})
.catch(()=>{
状态({错误:“authentif faild”,加载:false});
})
}
renderButtonOrLoading(){
if(this.state.loading){
回装
}
返回
加载
}
render(){
返回(
电子邮件
this.setState({email}}/>
密码
this.setState({password}}/>
{this.renderbuttonorload()}
)
}
}
返回圆括号中的登录和注册按钮视图
return (
<View>
<Button
onPress={this.onLoginPress.bind(this)}
title='Log In'/>
<Button
onPress={this.onSignUpPress.bind(this)}
title="Sign Up"/>
</View>
)
返回(
)
返回圆括号中的登录和注册按钮视图
return (
<View>
<Button
onPress={this.onLoginPress.bind(this)}
title='Log In'/>
<Button
onPress={this.onSignUpPress.bind(this)}
title="Sign Up"/>
</View>
)
返回(
)
我相信这是因为你回来时失踪了()
renderButtonOrLoading(){
if(this.state.loading) {
return <Text> Loading </Text>
}
return (
<View>
<Text> Loading </Text>
<Button
onPress={this.onLoginPress.bind(this)}
title='Log In'/>
<Button
onPress={this.onSignUpPress.bind(this)}
title="Sign Up"/>
</View>
)
}
renderbuttonorload(){
if(this.state.loading){
回装
}
返回(
加载
)
}
我相信这是因为你回来时失踪了()
renderButtonOrLoading(){
if(this.state.loading) {
return <Text> Loading </Text>
}
return (
<View>
<Text> Loading </Text>
<Button
onPress={this.onLoginPress.bind(this)}
title='Log In'/>
<Button
onPress={this.onSignUpPress.bind(this)}
title="Sign Up"/>
</View>
)
}
renderbuttonorload(){
if(this.state.loading){
回装
}
返回(
加载
)
}
我认为您没有为返回方法添加圆括号
renderButtonOrLoading(){
if(this.state.loading) {
return <Text> Loading </Text>
}
return (
<View>
<Text> Loading </Text>
<Button
onPress={this.onLoginPress.bind(this)}
title='Log In'/>
<Button
onPress={this.onSignUpPress.bind(this)}
title="Sign Up"/>
</View>
)
}
renderbuttonorload(){
if(this.state.loading){
回装
}
返回(
加载
)
}
我认为您没有为返回方法添加圆括号
renderButtonOrLoading(){
if(this.state.loading) {
return <Text> Loading </Text>
}
return (
<View>
<Text> Loading </Text>
<Button
onPress={this.onLoginPress.bind(this)}
title='Log In'/>
<Button
onPress={this.onSignUpPress.bind(this)}
title="Sign Up"/>
</View>
)
}
renderbuttonorload(){
if(this.state.loading){
回装
}
返回(
加载
)
}