第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何使用 JSON 數(shù)據(jù)通過(guò) map 動(dòng)態(tài)生成菜單組件?

如何使用 JSON 數(shù)據(jù)通過(guò) map 動(dòng)態(tài)生成菜單組件?

精慕HU 2022-10-08 17:35:36
我試圖使用從 json 中提取的數(shù)據(jù)動(dòng)態(tài)創(chuàng)建一組菜單項(xiàng)。我目前正在嘗試通過(guò)使用道具映射值來(lái)做到這一點(diǎn),但我在某處失敗了。這是我用來(lái)嘗試執(zhí)行此操作的代碼:Const Generate = () => {  {data.items.map(({id, url, title}) => (     <MenuItem key={id}>       <Link to={url}> {title} </Link>      </MenuItem>))console.log('lol')}}這是試圖利用它的組件。注釋掉的是它在硬編碼時(shí)看起來(lái)和工作得很好。const Navigation = ({}) => (  <React.Fragment>    <Layout>    <Sider      breakpoint="xs"      collapsedWidth="0"      onBreakpoint={broken => {      }}      onCollapse={(collapsed, type) => {      }}    >      <div className="logo">          <h1 style={{ color: 'white', paddingLeft: 20, paddingTop: 26}}>              {Generate}          </h1>      </div>      <Menu theme="dark" mode="inline" defaultSelectedKeys={['1']}>        {Generate()}        {/* <Menu.Item key="1">        <Link to="/" > Hjem </Link>        </Menu.Item>        <Menu.Item key="2">        <Link to="/skjema"> Mine Skjema </Link>        </Menu.Item>        <Menu.Item key="3">        <Link to="/pasient"> Mine Pasienter </Link>        </Menu.Item>        <Menu.Item key="4">            S?k        </Menu.Item>        <Menu.Item key="5">            Filtrer        </Menu.Item>   */}      </Menu>    </Sider>    <Layout>      <Header className="site-layout-sub-header-background" style={{ padding: 0 }} />      <Content style={{ margin: '24px 16px 0' }}>        <div className="content">          <Switch>            <Route  exact path={"/"} component={Dashboard} />            <Route  exact path="/Skjema" component={MineSkjema} />            <Route  exact path="/Pasient" component={MinePasienter} />          </Switch>        </div>      </Content>      <Footer />    </Layout>  </Layout>  </React.Fragment>)export default withRouter(Navigation);作為參考,這里是json結(jié)構(gòu):const data =  {  "items": [    {      "id": 1,      "url": "/",      "title": "Hjem"    },我在哪里犯錯(cuò)?
查看完整描述

3 回答

?
RISEBY

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超5個(gè)贊

嘗試這樣的事情:


<Menu theme="dark" mode="inline" defaultSelectedKeys={['1']}>

   {data.items.map(({id, url, title}) => (

      <MenuItem key={id}> 

        <Link to={url}> {title} </Link> 

      </MenuItem>

   )}

</Menu>

或者,如果您想使用該函數(shù),請(qǐng)調(diào)用它:


const Generate = items =>

  items.map(({id, url, title}) => (

     <MenuItem key={id}> 

        <Link to={url}> {title} </Link>

     </MenuItem>

  )

;

所以: {Generate(data.items)} 傳遞參數(shù)是個(gè)好主意,因?yàn)樗?Generate 成為一個(gè)純函數(shù)!


查看完整回答
反對(duì) 回復(fù) 2022-10-08
?
海綿寶寶撒

TA貢獻(xiàn)1809條經(jīng)驗(yàn) 獲得超8個(gè)贊

.map()當(dāng)您映射對(duì)象列表時(shí),您可能想使用函數(shù),在您的情況下,為什么不嘗試這樣的事情呢?


Const Generate = () => {

  {data.items.map((e,i) => (

    <MenuItem key={i}> 

      <Link to={e.url}> {e.title} </Link> 

    </MenuItem>

   ))}


  }

這應(yīng)該對(duì)你有用。



查看完整回答
反對(duì) 回復(fù) 2022-10-08
?
米琪卡哇伊

TA貢獻(xiàn)1998條經(jīng)驗(yàn) 獲得超6個(gè)贊

看起來(lái)你有正確的想法。我首先想到Generate的是一個(gè)函數(shù),但你從不調(diào)用它。相反,您有{Generate}which 直接評(píng)估函數(shù)對(duì)象,而不是它返回的內(nèi)容。相反,您可能應(yīng)該擁有{Generate()}.


我建議您通過(guò)添加更多console.log()調(diào)用來(lái)更多地調(diào)試您的代碼。閱讀本文以獲取有關(guān)調(diào)試代碼的更多提示。


我看到的另一個(gè)問(wèn)題是您的Generate()函數(shù)的語(yǔ)法:


Const Generate = () => {

  {data.items.map(({id, url, title}) => (

     <MenuItem key={id}> 

      <Link to={url}> {title} </Link> 

     </MenuItem>

))

console.log('lol')}

}

特別是,我認(rèn)為你有一些額外的牙套。正確的語(yǔ)法應(yīng)該是這樣的:


const Generate = () => {

  console.log('lol');

  return data.items.map(({id, url, title}) => (

     <MenuItem key={id}> 

      <Link to={url}> {title} </Link> 

     </MenuItem>

  ));

}

只有一組花括號(hào)包圍了胖箭頭函數(shù)的主體。這里的語(yǔ)法是(<params>) => {<statements>}where<params>是參數(shù)<statements>列表,是要執(zhí)行的語(yǔ)句列表。


在胖箭頭函數(shù)中的語(yǔ)句周圍使用花括號(hào)時(shí),必須包含return語(yǔ)句才能返回結(jié)果。由于該console.log()聲明,這是必要的。如果只有一個(gè)語(yǔ)句,則可以刪除花括號(hào),并且單個(gè)語(yǔ)句不需要返回:


const Generate = () =>

    data.items.map(({id, url, title}) => (

        <MenuItem key={id}>

            <Link to={url}> {title} </Link>

        </MenuItem>

));


查看完整回答
反對(duì) 回復(fù) 2022-10-08
  • 3 回答
  • 0 關(guān)注
  • 149 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)