我有個問題。如何為字串陣列生成密鑰?它不是物件,在物件中我可以放入 id 并解決問題。那么我應該在陣列中做什么?索引作為鍵不是一個好習慣,所以我被卡住了。
const ingredients = ['rice', 'curry', 'chicken]
{props.ingredients.map((ingredient) => (
<Box>{ingredient}</Box>
))}
uj5u.com熱心網友回復:
如果您沒有任何重復的成分,則使用成分名稱作為鍵就可以了。
{props.ingredients.map((ingredient) => (
<Box key={ingredient}>{ingredient}</Box>
))}
如果您將有重復的成分,并且您真的很關心獲得正確的鍵,那么如果索引不會改變,您可以使用索引:
{props.ingredients.map((ingredient, i) => (
<Box key={i}>{ingredient}</Box>
))}
(使用索引并不是普遍的壞習慣,它只適用于某些情況)
如果您可能有重復的成分并且索引可以更改,并且您確實想解決此問題,請將其更改為物件陣列而不是字串陣列,每個物件都有一個唯一標識屬性,您可以將其用作鍵。
uj5u.com熱心網友回復:
const ingredients = ['rice', 'curry', 'chicken']
{props.ingredients.map((ingredient, index) => (
<Box key={index}>{ingredient}</Box>
))}
uj5u.com熱心網友回復:
{props.ingredients.map((ingredient, index) => (<Box key={index}>{ingredient}</Box>))}
這樣做時,您會獲得一個內置索引,并且可以將其用作鍵。
uj5u.com熱心網友回復:
使用 map 時,最好在 map 函式中指定所選組件的鍵。map 函式中的第一個引數是給定串列中的值,第二個引數是串列中專案的索引。您可以將第二個引數命名為您想要的任何名稱,并將其作為鍵傳遞給組件,如下所示:
const ingredients = ['rice', 'curry', 'chicken]
{props.ingredients.map((ingredient, index) => (
<Box key={index}>{ingredient}</Box>
))}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/428549.html
標籤:javascript 反应 打字稿
下一篇:nodews包,將連接分開到房間
