javascript – 使用字符串反应原生创建元素

前端之家收集整理的这篇文章主要介绍了javascript – 使用字符串反应原生创建元素前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我看到很多人在React native中创建路由映射,类似于下面的内容

if (route.id === 'Blah') {
    return  (

这可以迅速成为许多代码行,我想做这样的事情:

return (React.createElement(route.id,{propsToPass}));

这在React Native中不起作用,因为显然’不允许将字符串作为React Native中的第一个参数,因为这些参数用于常规React中的html标记.

那么怎么做呢?如果我提供ReactClass作为第一个参数,或者使用eval(route.id)(但我知道这可能很危险),我得到了它的工作.

如何使用字符串创建React Native元素?

最佳答案
您可以设置允许的组件命名空间:

var routeComponents = {
  "Blah": Blah,"OtherView": OtherView
}

if(routeComponents[route.id]) {
  return React.createElement(routeComponents[route.id],{propsToPass});
} else {
  // Error
}

猜你在找的JavaScript相关文章