Javascript react.js动态抓取对象,导致未定义
我正在学习react.js。我有一个对象文本,我试图根据从选择输入中选择的内容在对象中动态选择一个对象。然而,我正在变得不明确。我试过点和括号表示法。我正在成功地获取所选选项的值并将其存储在变量中。有什么想法吗 这是我的目标:Javascript react.js动态抓取对象,导致未定义,javascript,reactjs,Javascript,Reactjs,我正在学习react.js。我有一个对象文本,我试图根据从选择输入中选择的内容在对象中动态选择一个对象。然而,我正在变得不明确。我试过点和括号表示法。我正在成功地获取所选选项的值并将其存储在变量中。有什么想法吗 这是我的目标: var horoList = { aries: { title: "JerkFace", }, cancer: { title: "Cancerous", }, gemini : { title: "GoofBall" } } ; 下面是我在re
var horoList = {
aries: {
title: "JerkFace",
},
cancer: {
title: "Cancerous",
},
gemini : {
title: "GoofBall"
}
} ;
下面是我在render方法中的一些JSX:
<select name="pick-sign" onChange={this.handleChange}>
<option></option>
<option value="aries" >Aries</option>
<option value="cancer" >Cancer</option>
<option value="gemini" >Gemini</option>
<option value="taurus" >Taurus</option>
</select>
如果更改此行:
console.log(horoList['selectedHoro'])//输出:未定义
致:
console.log(horoList[selectedHoro])代码>
您应该得到预期的输出。当您使用horoList['selectedHoro']
时,将使用文本字符串值selectedHoro
,因此它将是horoList.selectedHoro
。当您使用horoList[selectedHoro]
时,selectedHoro
是一个变量,它的值用于确定要解析的属性名称,因此它将解析为horoList.aeries
(当selectedHoro
时)
handleChange: function(e) {
var selectedHoro = e.target.value;
console.log(selectedHoro); //outputs: aries
console.log(horoList); //outputs: Object {aries: Object, cancer: Object, gemini: Object}
console.log(horoList.aries); //ouputs: Object {title: "JerkFace"}
console.log(horoList['selectedHoro']); //outputs: undefined
// this.setState({
// horos: horoList.selectedHoro
// });
},