我正在使用React构建菜单。如何将字符串传递给组件以将其用作函数名称?
正在做什么:
<Link to={ROOM({ roomId })}>home</Link>
我现在正在重构组件。我有一个MobileMenu组件,其Link定义为:
<MobileMenuLink service={'ROOM'} />
在第二个组件中,我将MobileMenuLink
定义为:
const MobileMenuLink = ({ style, className, roomId, service }) => {
return (
<Base style={style} className={className}>
<MenuLink>
<Link to={service({ roomId })}>home</Link>
</MenuLink>
</Base>
)
}
这怎么可能?
不传递字符串,将ROOM
函数传递给MobileMenuLink
:
<MobileMenuLink service={ROOM} />
并像现在一样调用service
,因为它是一个函数:
<Link to={service({ roomId })}>home</Link>
window["functionName"](arguments);