我尝试为jsx元素设置背景,我有两个函数,第一个函数将背景设置为灰色,第二个函数将背景设置为绿色。到目前为止,我设法通过onClick将这两个函数添加到jsx元素中,但是,当单击这两个按钮时,它只运行绿色函数
const [onTwo,SetTwo] = React.useState(false)
const stylesTwo = {
backgroundColor: onTwo ? "#D6DBF5" : "transparent"
}
function toggleTwo(){
SetTwo(prevstate => !prevstate)
const [green,setGreen] = React.useState(false)
const color = {
backgroundColor: green ? "#94D7A2" : "transparent"}
function checkAnswers(){
setGreen(true)
}
<h2 className="answer-two"style={{...stylesTwo,...color}} onClick = {() => {toggleTwo(); checkAnswers();}}>{props.answertwo} </h2>
1条答案
按热度按时间yc0p9oo01#
您设置了背景色,但在您的示例中,我猜您需要在每次单击时切换此函数
toggleTwo
,并将该函数更改为那么每次你点击的时候状态就会在真和假之间转换
下面是我的工作示例,我将backgroundColor中的一个更改为color以确认其工作,https://codesandbox.io/s/wizardly-mclean-vgiukl?file=/src/App.js