gpt4 book ai didi

reactjs - onClick 不改变 REACTJS 中的 useState

转载 作者:行者123 更新时间:2023-12-02 18:45:53 24 4
gpt4 key购买 nike

当我点击 closeBet 方法时,它似乎没有触发任何东西。谁能解释我为什么吗?我认为我正确地实现了一切,只是不明白为什么不能正常工作。此外,即使其他 useState isActive 也没有完成其工作。那么我应该怎么做才能正确更改 onClick 的 useState。提前致谢

import React, { useState } from 'react';
import Button from '@material-ui/core/Button';
import FilterMenu from "./selectButton";
import FetchRandomBet from "./fetchRandomBets";

function Betslip() {
const data = [
{
value: 0,
label: "No Filter"
},
{
value: 1,
label: "Less than two"
},
{
value: 2,
label: "More than two"
},
]

const [selectedValue, setSelectedValue] = useState(0);
const [allStakes, setAllStakes] = useState(null);
const [isActive, setActive] = useState("false");

const handleChange = obj => {
setSelectedValue(obj.value);
}

const betNow = () => {
if (!allStakes) {
const stakes = localStorage.getItem("stakes");
const jsnStake = JSON.parse(stakes) || [];
setAllStakes([jsnStake]);
setActive(isActive);
console.log('yes')
} else if (allStakes) {
localStorage.setItem("stakes", null);
setAllStakes([])
console.log('no')
}
}

const closeBet = () => {
setActive("false");
}

console.log(allStakes)

return (
<div className="betslip">
<div className="betslip-top">
<h1 className="text">BETSLIP</h1>
<p className="text-two">BET WITH US!</p>
<div>
<FilterMenu
optionsProp={data}
valueProp={selectedValue}
onChangeProp={handleChange}
/>
</div>
</div>
<div>
<FetchRandomBet
valueProp={selectedValue}
/>
</div>
<Button
onClick={betNow}
className="betnow"
variant="contained"
>
Bet Now!
</Button>
<div className={isActive ? "bet-show" : "bet-noshow"}>
<button
onClick={closeBet}>
x
</button>
<h1>
{allStakes}
</h1>
</div>
</div >
);
}

export default Betslip;

最佳答案

您正在使用 string 而不是 boolean 值来表示 isActive 状态。应该是这样的:

const [isActive, setActive] = useState(false);

更新状态时:

const closeBet = () => {
setActive(false);
}

删除 false 值周围的引号,它应该按预期工作。

关于reactjs - onClick 不改变 REACTJS 中的 useState,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67439303/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com