Ich habe gerade angefangen React zu lernen und nachdem ich einige Anleitungen durchgelesen habe, habe ich versucht einen Markdown Previewer zu erstellen. Ich baue es erfolgreich. Aber ich wollte etwas anderes, ich wollte ein <textarea>
machen, dann nachdem der Benutzer es geschrieben hat, wenn sie auf einen Knopf klicken, rendert es das HTML auf sich selbst (was nicht möglich ist). Also, gibt es eine Möglichkeit, die <textarea>
zu entfernen und ein Div mit dem gerenderten HTML anzuhängen.Anfänger Reaction query (Wie entferne ich ein Element und füge ein anderes Element hinzu)
Ich meine, wie kann ich die <textarea>
entfernen und dann eine neue <div>
anfügen, wenn der Benutzer auf die Schaltfläche klickt?
Wenn die Frage nicht klar ist, nur kommentieren, was fehlt, werde ich es bearbeiten.
JSX für die Markdown
const example = `Heading
=======
Sub-heading
-----------
### Another deeper heading
Paragraphs are separated
by a blank line.
Leave 2 spaces at the end of a line to do a
line break
Text attributes *italic*, **bold**, ` +
' `monospace`' + `, ~~strikethrough~~ .
Shopping list:
* apples
* oranges
* pears
Numbered list:
1. apples
2. oranges
3. pears
The rain---not the reign---in
Spain.
*[Lavios](kdsbjhsdbhjfbdjbs)*`
const App = React.createClass({
getInitialState() {
return {
data: example
}
},
updateVal(e) {
this.setState({
data: e.target.value
});
},
render() {
return (
<div id="app">
<div id="app-inside-first">
<textarea rows='35' cols='20' value={this.state.data} onChange={this.updateVal}/>
</div>
<div id="app-inside-second">
<Markdown stats={this.state.data} />
</div>
</div>
)
}
});
const Markdown = React.createClass({
render() {
let render_content = markdown.toHTML(this.props.stats);
return (
<div dangerouslySetInnerHTML={{__html: render_content}} />
)
}
});
ReactDOM.render(<App />, document.getElementById("container"));
Hier ist der jsfiddle
Sie können if-else verwenden Bedingung https://facebook.github.io/react/tips/if-else-in-JSX.html – Abhishek