Ho un'applicazione React come questa.Esiste un modo corretto per trasferire i dati in un componente React dalla pagina HTML?
var X = React.createClass({
componentDidMount: function() {
fetch(this.props.feed).then(...);
}
render: function() {
return <div>{this.props.feed}</div>
}
});
Il puntello di alimentazione viene utilizzato per ottenere un feed JSON in componentDidMount che è unico per un particolare cliente.
Sarebbe conveniente per passare i dati nel mio Reagire app da HTML a parametrizzare esso:
<html>
<body>
<div id="app" feed='custom_feed.json'></div>
</body>
</html
mia soluzione attuale assomiglia a questo:
var root = document.getElementById('app');
var feed = root.getAttribute('feed')
ReactDOM.render(<X feed={feed}/>, root);
Questo funziona, ovviamente, ma ci si sente come dovrebbe esserci una soluzione più idiomatica. C'è un modo più React per fare questo?
Qual è lo scopo di questo caso d'uso? Se si tratta del rendering di modelli di "feed" nell'HTML, è sufficiente avere ReactDOM.render nel modello con il valore corretto. Usare i parametri DOM per avviare un'app React è molto insolito e non molto consigliato. Non penso che ci sia un modo semplice per farlo neanche. – Mijamo
Non sono pronto a convertire la mia app in una SPA. Il mio HTML è generato con uno script ruby. Il componente React è in realtà una parte piuttosto piccola di una pagina statica. In Angular potevo semplicemente inserire ' ' nella pagina. Ovviamente mi sto sbagliando. –
superluminary
È venuto da Django, caso d'uso simile – binithb