在React Router中按名称调用组件

时间:2017-08-10 18:06:48

标签: javascript reactjs react-router

我正在使用最新版本的React Router 4.1.2和动态路由。

这对我有用:

routes.push(<Route key={tab.id} exact path="/" component={Dashboard}/>)

但这不起作用:

routes.push(<Route key={tab.id} exact path="/" component={tab.component}/>)

显然,因为{tab.component}是一个字符串(值为Dashboard),其中{Dashboard}是一个函数。

我怎样才能让它发挥作用?如何将我的字符串转换为与字符串同名的React组件?

1 个答案:

答案 0 :(得分:2)

一种简单的方法是将您的组件放在地图中,以便按名称查找它们。当您想通过字符串检索某些内容时,这是一种非常常见的模式。

/home/tony/Desktop/test.txt: line 1: Status: command not found
/home/tony/Desktop/test.txt: line 2: Availability: command not found
/home/tony/Desktop/test.txt: line 3: State: command not found
/home/tony/Desktop/test.txt: line 4: Reason: command not found
/home/tony/Desktop/test.txt: line 5: CMP: command not found
/home/tony/Desktop/test.txt: line 6: CMP: command not found
/home/tony/Desktop/test.txt: line 9: Traffic: command not found
/home/tony/Desktop/test.txt: line 10: Bits: command not found