在 jsx 循环中使用变量
Using Variable inside jsx loop
我在 jsx 渲染中有这样的循环
return(
<View>
{[...Array(10)].map((x, i) => (
<Input
placeholder="Category {i}"
/>
))}
</View>
)
我正在尝试使用上面的代码动态创建 10 个输入,这里我想使用占位符中的变量 I,所以我得到了占位符类别 1、类别 2 等的输入,但是我的应用程序崩溃了,没有任何错误,在 jsx 映射中使用变量的正确方法是什么。
对于任何想知道的人,我通过编写如下代码解决了它。
{[...Array(10)].map((x, i) => {
return (
<Input
placeholder={"Category " + (i + 1)}
/>
);
})}
也许试试这个
return (
<View>
{new Array(10).map((x, i) => (
<Input placeholder={`Category ${i + 1}`} />
))}
</View>
);
参考这个
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals
您可以在模板字符包装的字符串中使用 javascript 变量:"'"。
并且您需要在children中设置key
。
return(
<View>
{new Array(10).map((x, i) => (
<Input
key={i}
placeholder={`Category ${i}`}
/>
))}
</View>
)
我在 jsx 渲染中有这样的循环
return(
<View>
{[...Array(10)].map((x, i) => (
<Input
placeholder="Category {i}"
/>
))}
</View>
)
我正在尝试使用上面的代码动态创建 10 个输入,这里我想使用占位符中的变量 I,所以我得到了占位符类别 1、类别 2 等的输入,但是我的应用程序崩溃了,没有任何错误,在 jsx 映射中使用变量的正确方法是什么。
对于任何想知道的人,我通过编写如下代码解决了它。
{[...Array(10)].map((x, i) => {
return (
<Input
placeholder={"Category " + (i + 1)}
/>
);
})}
也许试试这个
return (
<View>
{new Array(10).map((x, i) => (
<Input placeholder={`Category ${i + 1}`} />
))}
</View>
);
参考这个
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals
您可以在模板字符包装的字符串中使用 javascript 变量:"'"。
并且您需要在children中设置key
。
return(
<View>
{new Array(10).map((x, i) => (
<Input
key={i}
placeholder={`Category ${i}`}
/>
))}
</View>
)