gpt4 book ai didi

javascript - If-Else 状态 Reactjs

转载 作者:行者123 更新时间:2023-11-29 17:38:09 25 4
gpt4 key购买 nike

我正在尝试根据状态值获取 if-else 语句。我的代码设置为可以随时更改状态并更改为 <select> 的任何状态。元素更改为。

我正在尝试做这样的事情:

if(this.state{value:} == "string")
{
//Do this
}

然而似乎无法正确地做到这一点。执行此操作的更好建议或正确方法是什么?

我正在尝试的实际代码:

  7     this.state = {value: 'empty'};
8 }
9 SelectChange = (event) => {
10 this.setState({value: event.target.value});
11 if(this.state[value] == "string" )
12 {
13 console.log("string");
14 }
15 }
16 /*}
17 AddListener = (event) => {
18 var id = event.target.id;
19 var selectElements = document.getElementById(id);
20 var stringSpec = id.substr(10, 11);
21 var specLeng = "specifySection" + stringSpec;
22 //console.log("This Id: " + id + "NumString: |" + stringSpec + "| New Id: " + specLeng);*/
23 /*selectElements.addEventListener("change", function(){
24 moreInfo(id, specLeng);
25 }, false); */
26 render (){
27 const {SelectChange} = this;
28 const {value} = this.state;
29 return (
30 <div>
31 <div>
32 <label><strong>New Field </strong></label>
33 <div id="remove-" className="remove" style={{display: "inline", visibi lity: "hidden"}}>
34 <label> --Remove </label> <input type="checkbox" id="removeBox" class Name="rmvCheckbox" />
35 <br />
36 </div>
37 <label> Name: </label>
38 <input id="name-" className="name" type="text" name="name" /> <br />
39 <label> Description: </label>
40 <input id="description-" className="description" name="description" /> <br />
41 <label> Datatype: </label>
42 <select value={value} onChange={SelectChange} id={`selectData-${this.p rops.number}`} className="selectData" name="selectData" /*onClick={AddListener}* />

最佳答案

this.setState({}) 是一个异步函数。因此,当您在 if 条件中紧接着此函数使用 this.state.value 时。该值尚未设置。所以你可以从参数传递的值

if(event.target.value === "string")

或者你可以使用回调函数

this.setState({value: event.target.value}, () => {
if(this.state.value === 'string') {
// Do what you want here
}
})

关于javascript - If-Else 状态 Reactjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54937571/

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