前提・実現したいこと
動的にアイコンタグの名前を変えたいのですが、調べてもやり方がわかりません。
以下のようにタグが繰り返しになるのでmap関数を使って変更したいと思っています。
わかる方がいましたらコメントお願いします。
###エラー
Failed to compile. ./src/components/CustomizedMenus.js Line 83:11: Expected an assignment or function call and instead saw an expression no-unused-expressions Search for the keywords to learn more about each error.
該当のソースコード
変更前
<StyledMenuItem onClick={() => onClick(to(category))}> <ListItemIcon> <CreateIcon fontSize="small" /> </ListItemIcon> <ListItemText primary="テレビ" /> </StyledMenuItem> <StyledMenuItem onClick={() => onClick(to(category))}> <ListItemIcon> <PersonIcon fontSize="small" /> </ListItemIcon> <ListItemText primary="オーディオ" /> </StyledMenuItem> ・ ・ ・
変更後
{categories.map(category => ( <StyledMenuItem onClick={() => onClick(to(category))}> <ListItemIcon> <??????? fontsize="small" /> 該当部分 </ListItemIcon> <ListItemText primary={category.name} /> </StyledMenuItem> ))}
state
const initialState = { categories: [ { id: '1', name: 'テレビ', icon: 'CreateIcon' },
試したこと
?????の部分に
${category.icon}
を入れてみましたがダメでした。
最新のプログラム
export default function CustomizedMenus({ categories, onClick }) { const [anchorEl, setAnchorEl] = React.useState(null); const handleClick = event => { setAnchorEl(event.currentTarget); }; const handleClose = () => { setAnchorEl(null); }; const to = category => ( category.id === '1' ? `/all` : `/category/${category.id}` ); return ( <div> <Button aria-controls="customized-menu" aria-haspopup="true" variant="contained" color="primary" onClick={handleClick} > ボタン </Button> <StyledMenu id="customized-menu" anchorEl={anchorEl} keepMounted open={Boolean(anchorEl)} onClose={handleClose} > {categories.map(category => { const TagName = category.icon; <StyledMenuItem onClick={() => onClick(to(category))}>##該当箇所 <ListItemIcon> <TagName fontsize="small" /> </ListItemIcon> <ListItemText primary={category.name} /> </StyledMenuItem> })}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/12 01:50
2019/11/12 01:51
2019/11/12 01:53
2019/11/12 02:01
2019/11/12 02:02
2019/11/12 02:03
2019/11/12 02:04
2019/11/12 02:07
2019/11/12 02:10
2019/11/12 02:16
2019/11/12 03:45
2019/11/12 03:50
2019/11/12 03:57
2019/11/12 04:42
2019/11/12 04:46
2019/11/12 05:10
2019/11/12 05:15
2019/11/13 23:59
2019/11/14 00:10
2019/11/14 00:14
2019/11/14 00:16
2019/11/14 00:18
2019/11/14 00:22