寻找更好的算法(条件渲染)

问题描述 投票:0回答:1

在我的Web应用程序中,我使用json文件来存储我的不同路由,然后我在这个json文件中循环一个数组来创建内容,例如导航栏按钮。

我面临的问题是我想为json文件中显示的每个值使用不同的图标,我无法将图标组件存储到json文件中。

这是我的代码示例,其中包含json文件中包含的数组循环

{props.buttons.button.map((button, index) => (
                <div key={index}>
                    {(button.isAuth === props.isAuth || button.isAuth === 3) && (
                        <>
                            <Link to={button.to} className="link">
                                <ListItem button>
                                    <ListItemIcon>
                                        <InputIcon />
                                    </ListItemIcon>
                                    <ListItemText primary={button.label} />
                                </ListItem>
                            </Link>
                        </>
                    )}
                </div>
            ))}

这是json文件的示例

{
    "button": [
        {
            "label": "Home",
            "isAuth": 3,
            "to": "/"
        },
        {
            "label": "About",
            "isAuth": 3,
            "to": "/about"
        }
    ]
}

目前,对于我的json文件中的每个数据,始终显示相同的图标组件:<InputIcon />

如何为json文件中的每个数据显示不同的图标组件(例如主页按钮的<HomeIcon />,登录的<LogInIcon />,...),而不使用和if/else

谢谢

javascript reactjs algorithm
1个回答
0
投票

如果可能,您可以构造<InputIcon />组件以接受prop并将标签传递给此组件。

© www.soinside.com 2019 - 2024. All rights reserved.