javascript - 自定义可重用
问题描述
我无法看到“注销”方面的组件。它不是完全不可见的,但不是块样式,而是只有一行可见,没有文本。但是,相同的可重用 Button 组件与“登录按钮”一起使用。
renderContent() {
switch (this.state.loggedIn) {
case true:
return <Button> Log Out </Button>;
case false:
return <LoginForm />;
default:
return <Spinner size="large" />;
}
}
render() {
return (
<View>
<Header headerText="Authentication" />
{this.renderContent()}
</View>
);
当用户未登录时,输出如下: Authentication 标头下方的深蓝色线是
我试图渲染一个文本组件来代替按钮组件,它也可以工作。似乎只是这个特定条件渲染中的 Button 不起作用!
我的按钮组件:
const Button = ({ onPress, children }) => {
const { buttonStyle, buttonTextStyle } = styles;
console.log({ children });
return (
<TouchableOpacity onPress={onPress} style={buttonStyle}>
<Text style={buttonTextStyle}>
{children}
</Text>
</TouchableOpacity>
);
};
登录工作的代码块:
renderButton() {
if (this.state.loading) {
return <Spinner size="small" />
}
return (
<Button onPress={this.onButtonPress.bind(this)}>
Log In
</Button>
);
}
解决方案
推荐阅读
- javascript - 不明白这个 javascript 中的闭包示例
- html - 多选多重引导选择2的自动增加和减少高度
- python - Python:单击窗口上的任意位置时如何从按钮上移除焦点
- momentjs - moment-timezone.js 获取具有时区的特定日期的 UTC 偏移量
- spring - spring integrationflow 没有在receivercontainer 上设置消息监听器
- c# - C# 日期时间格式 YYMMDDhhmmsstnnp
- python - Python密码生成器-密码数组无输出
- ios - 如何在滚动时更新 UITableView 数据
- c# - 如何注册两个实现,然后在 .Net Core 依赖注入中获取一个
- asp.net-core-mvc - 如何在 asp.net core 2.0 中搜索日期