mostrar leer estructura ejemplo datos crear con attribute archivo javascript reactjs eval ecmascript-6 react-native

leer - mostrar datos json javascript



reaccionar elemento de creación nativo con cadena (1)

Veo mucha gente creando un mapeo de ruta en React nativo similar al siguiente:

if (route.id === ''Blah'') { return (<Blah prop1={this.method} prop2={this.other method} />); } else if (route.id === ''OtherView'') { return (<OtherView prop1={this.method} />); }

esto puede convertirse rápidamente en muchas líneas de código, me gustaría hacer algo como esto:

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

Esto no funciona en React Native porque aparentemente ''las cadenas no están permitidas como el primer parámetro en React Native, ya que están destinadas a ser usadas para etiquetas html en React regular''.

Entonces, ¿cómo puede hacerse esto? Lo tengo funcionando si proporciono un ReactClass como primer param o con eval (route.id) (pero sé que puede ser peligroso).

¿Cómo puedo crear un elemento React Native con una cadena?


Puede configurar un espacio de nombres de componentes permitidos:

var routeComponents = { "Blah": Blah, "OtherView": OtherView } if(routeComponents[route.id]) { return React.createElement(routeComponents[route.id], {propsToPass}); } else { // Error }