Ho bisogno di eseguire il rendering di una stringa HTML (JSX) in una classe React. Non so se sia possibile o meno. dangerouslySetInnerHTML non è valido per me perché ho diversi componenti di reazione all'interno di questo file. Non è un semplice HTML.Come eseguire il rendering di una stringa con JSX in React
Ho un esempio con il risultato atteso: https://jsfiddle.net/86rg50re/1/
var MyComponent = React.createClass({
propTypes: {
owner: React.PropTypes.string
},
render: function() {
return <div>Congrats {this.props.owner}! you have rendered MyComponent ({this.props.children})</div>;
}
});
var Hello = React.createClass({
render: function() {
return <div>Header <MyComponent owner={"Daniel"}>Yayyyyyy!</MyComponent></div>;
}
});
ma quello che ho è questo:
var Hello = React.createClass({
render: function() {
var content = '<div>Header <MyComponent owner={"Daniel"}>Yayyyyyy!</MyComponent></div>';
return transformStringToJSX(content);
}
Ovviamente transformStringToJSX non esiste.
C'è un modo per eseguire il rendering delle stringhe jsx?
Non si può semplicemente importare il file come file JavaScript e fare riferimento a variabili e componenti da esso come qualsiasi altra importazione? – Bojangles
Suppongo che sia la mia ultima opzione. Preferirei un'altra opzione perché voglio memorizzare solo il contenuto JSX in quel file – gyss
JSX finisce per essere solo JavaScript. Penso che la cosa migliore da fare sia esportare un componente di avvolgimento sottile e importarlo come JS. – Bojangles