JSX:Reagire renderComponent sostituire DOM
var App = React.createClass({
render: function() {
return <div className="darken">hello world</div>
}
});
React.renderComponent(<App/>, document.querySelector('.main'))
HTML:
<body>
<header>welcome</header>
<div class="main"></div>
</body>
React.renderComponent
si aggiunge le rese JSX a <div class="main">
. Uscita di HTML sarà:
<body>
<header>welcome</header>
<div class="main">
<div class="darken">hello world</div>
</div>
</body>
E 'possibile React.renderComponent
sostituire <div class="main">
, quindi quello che mi aspetto come questo:
<body>
<header>welcome</header>
<div class="darken">hello world</div>
</body>
Grazie per la risposta. Non ci avevo pensato prima. Ma ora ho alcune situazioni e ho una domanda di aggiornamento (guarda il codice HTML). Puoi risolvere il mio problema? – user3741665
Sono abbastanza sicuro che React può solo rendere i componenti principali all'interno dei container, non possono sostituire gli elementi esistenti. Ovviamente, è possibile rimuovere manualmente il vecchio elemento prima di eseguire il rendering del componente React. – AlexG
Ma questo non è possibile, se rimuovi il vecchio elemento prima di eseguire il rendering del componente React riceverai l'errore: "Il contenitore di destinazione non è un elemento DOM.". – p1nox