当我第一次点击〈a onClick{()=〉“function”}〉时,它工作正常,但当我第二次点击时,一切都中断了。下面是代码:
function ref(sub) {
console.log(Subjects)
SetSubjects(Subjects[sub] = true)
console.log(Subjects)
};
const [Subjects, SetSubjects] = useState({
"Mathematics": false,
"Physics": false,
"Ukranian": false,
"English": false,
"Chemistry": false,
"Informatics": false,
"History": false
})
return (
<div className="area">
<div className="logo_header"><a className="logo_header_text" href="/">Owly</a></div>
<h1 className="tittle">Choose the Subject</h1>
<div className="select_btns">
<a onClick={() => ref("Mathematics")} >Mathematics</a>
<a onClick={() => ref("Physics")} >Physics</a>
<a onClick={() => ref("Ukranian")} >Ukranian</a>
<a onClick={() => ref("English")} >English</a>
<a onClick={() => ref("Chemistry")}>Chemistry</a>
<a onClick={() => ref("Informatics")}>Informatics</a>
<a onClick={() => ref("History")}>History</a>
</div>
这里我得到屏幕第一次点击:
第二次点击:
我按哪个键都没关系
1条答案
按热度按时间enyaitl31#
这不是你想的那样
表达式
Subjects[sub] = true
的 result 是值true
,因此您将Subjects
设置为值true
。当然,它没有Subjects
对象的任何属性。我猜你在找这个
这将把
Subjects
设置为一个包含Subjects
上当前所有属性的对象,并把sub
中的值定义的属性设置为true
。