【发布时间】:2021-05-31 02:07:18
【问题描述】:
我有一个简单的测验应用程序,它总是有相同的答案,每个答案都有不同的分数。
当 USER 按下时,我希望选择按钮,更改颜色,将 id 传递给状态。 当 USER 按下另一个按钮时,我想取消选择第一个按钮并选择它。
使用 React 函数式组件、ReactHooks、样式化组件和 TypeScript。
按钮:
<AnswerButton
id="1"
isSelected={isSelected}
style={shadow}
onPress={handleAnswer}
>
<AnswerText>Muito Correto</AnswerText>
</AnswerButton>
<AnswerButton
id="2"
style={shadow}
isSelected={isSelected}
onPress={handleAnswer}
>
<AnswerText>Moderadamente Correto</AnswerText>
</AnswerButton>
样式化组件:
export const AnswerButton = styled.TouchableOpacity<AnswerProps>
background: ${darken(0.05, #EEEDED)};
border-radius: 35px;
padding: 15px;
margin-bottom: 25px;
border: 2px solid #64007b;
${props =>
props.isSelected &&
css
border-color: #c53030;
background-color: #fff8f7;
border-width: 2px;
}
;
export const AnswerText = styled.Text
color: #64007b;
font-family: 'RobotoSlab-Medium';
font-size: 18px;
line-height: 30px;
text-align: center;
;
【问题讨论】:
标签: typescript react-native styled-components react-functional-component