I asked this question previously, ma con React 0.12 e le modifiche JSX apportate, sto cercando un altro modo per implementare questa funzione.Rendering dinamico di un componente React in React 0.12
Ecco il codice che funziona in React 0,11:
return React.createClass({
render: function() {
var Tag = React.DOM[this.props.element];
return (
<Tag className='text'>
{this.props.value}
</Tag>
);
}
});
Sto facendo un componente che rende diversi elementi DOM in base al puntello passato in chiamato "elemento". this.props.element sarà un valore come "p", "H1" o "H2", ecc Anche se questo funziona tecnicamente, sto vedendo un messaggio di avviso nella console:
Warning: Do not pass React.DOM.p to JSX or createFactory. Use the string "p" instead.
Warning: Do not pass React.DOM.h2 to JSX or createFactory. Use the string "h2" instead.
bisogno di qualche direzione per aiutare a interpretare questo avviso e non riesco a trovare una buona documentazione su come fare qualcosa di simile.
Come ulteriore vantaggio, è anche possibile passare un componente personalizzato, e, g, MyComponent anziché "p" o "h1". Terminologia saggia, un elemento in reazione è il risultato di ' ' (che compila a React.createElement (Something) '), 'componente' o 'tipo' o qualcosa di più specifico per il caso d'uso potrebbe essere un nome prop chiaro. –
FakeRainBrigand
! IMPORTANTE! Il nome del tag deve essere in maiuscolo per poter funzionare. –