Reactjs传递大写动态变量

时间:2018-08-31 11:43:00

标签: javascript reactjs

将动态变量传递给其他组件时遇到问题。
我有对象数组,其中还有其他对象:

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}
                   ^

如何传递包含大写字母的动态变量?

2 个答案:

答案 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