doubleyong
管理员
管理员
  • 最后登录2025-12-02
  • 发帖数1198
  • 最爱沙发
  • 喜欢达人
  • 原创写手
  • 社区居民
  • 忠实会员
阅读:7643回复:0

[react]react 中,将字符串形式的组件名,转成变量进行使用

楼主#
更多 发布于:2019-05-05 11:27
如上代码:
<Route key={'r1'+index} path={value.url} component={ value.component}
value.component是组件的名称,字符串类型,如何将字符串类型,转成相对应的变量
1. 考虑react中是否可以使用Eval方法(未实践)
2. 不用eval实现
思路:
比如服务器返回组件String ‘< ComponentName />’,
用正则取到ComponentName, 把React组件存到一个 Components对象
选择组件 Components[ComponentName],放到render渲染 。

代码如下:
var components = {"About":About,"Product":Product,"Port":Port,"Fruits":Fruits,"Vegetables":Vegetables,"PersonCenter":PersonCenter};
 var menuRouter = menuOne.map(function (value, index) {
            var menuTwo = menuArrTemp.filter((item)=&gt;{return item.parentId === value.menuId});
             return (&lt;Route key={'r1'+index} path={value.url} component={ components[value.component]}&gt;&lt;/Route&gt;
             );
});
参考:
http://react-china.org/t/react-eval/22748
知识需要管理,知识需要分享
游客


返回顶部

公众号

公众号