我不知道如何解釋,但這是我的噩夢。如果我學會了如何做到這一點,這對我來說將是非常重要的。我想映射一個組件,這個組件使用 like<Flag.USA/>或<Flag.RU/>。我有一個這樣的陣列:["TR","USA","RU"]。我想用該陣列的專案映射這個組件。
所以,最后,我想看到這樣的事情:
<Flag.TR/>
<Flag.USA/>
<Flag.RU/>
這是我的代碼,但它不起作用:
const languages = ["TR", "USA", "RU"]
{
languages.map((language, i) => {
<Flags.{language}/> //Here is very importat... I tried like this but didn't work.
})
}
更新:
標志是包的一個組件。country-flag-icons. 如果你想使用它,你可以使用like <Flags.USA/>,就會有美國國旗。
uj5u.com熱心網友回復:
語法<Flags.{language}/>是不是在允許的JSX。你可以createElement在這里
使用https://reactjs.org/docs/react-api.html#createelement
languages.map((language, i) => {
return React.createElement(Flags[language])
})
uj5u.com熱心網友回復:
我認為你可以創建一個語言物件串列,包括組件的確切名稱,如果你想要一個簡短的串列:
const languages = [
{key: "TR", comp: <Flag.TR />},
{key: "USA", comp: <Flag.USA />},
{key: "RU", comp: <Flag.RU />},
]
然后,你可以回圈:
languages.map((language, i) => {
return language.comp
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/395212.html
標籤:javascript 反应
