typescript - 道具不改变背景按钮颜色
问题描述
客观的
off
如果道具通过,我正在尝试切换背景颜色按钮。例如,如果按钮包含 de off,则背景颜色按钮将为red
,如果不包含,则背景颜色将为green
。
发生了什么?
我正在传递道具,但颜色没有改变,我的两个按钮保持绿色。
代码
家
<ContainerRow>
<Button onPress={handleConnectBluetooth}>Conectar</Button>
<Button onPress={handleDesconnectBluetooth} off={false}>
Desconectar
</Button>
</ContainerRow>
这里带有文本的按钮Desconectar
需要是红色的。
按钮组件
import React from 'react';
import {RectButtonProperties} from 'react-native-gesture-handler';
import {Container, ButtonText} from './styles';
interface ButtonProps extends RectButtonProperties {
children: string;
off?: boolean;
}
const Button: React.FC<ButtonProps> = ({children, off, ...rest}) => (
<Container off {...rest}>
<ButtonText>{children}</ButtonText>
</Container>
);
export default Button;
off
这里是参数里面的道具,比如说off is defined but never used
.
按钮样式
import styled from 'styled-components/native';
import {RectButton} from 'react-native-gesture-handler';
interface IButtonProps {
off: boolean;
}
export const Container = styled(RectButton)<IButtonProps>`
height: 40px;
background: ${(props) => (props.off ? '#29ed1f' : '#ff0000')};
border-radius: 10px;
margin-top: 8px;
justify-content: center;
align-items: center;
`;
export const ButtonText = styled.Text`
color: #312e38;
font-size: 18px;
`;
解决方案
推荐阅读
- docker - 如何使用 docker 在 jvm 中设置时区
- bash - 使用 sed 清理文件以获取环境配置
- python-3.x - 如何让不和谐机器人使用 discord.py 触发它自己的消息上的命令?
- node.js - 有没有办法我可以跟踪模型中更改的时间和实体
- javascript - 将字符串转换为 DOM 后,对象作为 React 子项无效
- c - 无法完成写入 EEPROM,因为它会重置电路板
- javascript - 将 JQuery 函数从 keyup 更改为提交
- aws-lambda - 我可以在 AWS Cognito 中为 sign_in 和 sign_up 过程设置不同的回调 URL 吗?
- javascript - 使用 setTimeout() 进行优化
- typescript - 禁止字符串类型索引签名的数字属性