将动态变量传递给其他组件时遇到问题。
我有对象数组,其中还有其他对象:
var myArr = {"1": {
"name": "rose",
"symbol":"ros",
"quotes": {
"USD": {
"price": "10"
}
}}}
这是我尝试将变量传递给组件的方式:
<MyComponent
key={index}
name={item.name}
symbol={item.symbol}
price={item.quotes.USD.price}
/>
这样做,我会收到错误消息:
TypeError: Cannot read property 'USD' of undefined
我也试图像这样传递价格变量:
<MyComponent
key={index}
name={item.name}
symbol={item.symbol}
price={item.quotes.${USD}.price}
/>
但是编译失败:
Failed to compile
price={item.quotes.${USD}.price}
^
如何传递包含大写字母的动态变量?
答案 0 :(得分:1)
仔细检查您的代码后,我发现您缺少索引:
price={item[index].quotes.USD.price}
答案 1 :(得分:1)
您可能想要执行以下操作:
var myArr = {"1": {
"name": "rose",
"symbol":"ros",
"quotes": {
"USD": {
"price": "10"
}
}}}
myArr['1'].quotes.USD.price
(或)
myArr['1'].quotes['USD'].price