Form.jsPassing Daten an andere Komponente
import React from 'react'
export default class Form extends React.Component{
handlePatientDisease(e){
this.setState({
patientdisease: e.target.value
})
}
handlePatientPresentIllness(e){
this.setState({
patientpresentillness: e.target.value
})
}
handlePatientName(e){
let patientName = e.target.value
this.setState({ patientName })
this.props.onPatientNameChange.value
}
handleSubmit(e){
e.preventDefault();
console.log("Patient name changed to:", patientName.value)
}
render() {
return (
<form onSubmit={this.handleSubmit}>
<ul>
<li>
<label> Nome do Paciente </label>
<input type="text" name="patientName" id="patientName" placeholder="nome do paciente" onChange={this.handlePatientName.bind(this)} />
</li>
<li>
<label> Doença
<input type="text" name="patientdisease" placeholder="disease"/>
</label>
</li>
<li>
<label> Histórico
<input type="text" name="patientpresentillness" placeholder="historia do paciente"/>
</label>
</li>
<li>
<button type="submit"> Submit </button>
</li>
</ul>
</form>
);
}
}
So, jetzt kann ich bereits die in dieser Form übermittelten Daten und auf der Konsole zeigen. Wie zeige ich jetzt in einer anderen Komponente an? Ich möchte auf diese Daten als ein Listenelement in dieser Komponente unter:
Sidebar.js
import React from 'react'
import patientName from './Form'
export default class Sidebar extends React.Component{
handlePatientNameChange(patientName){
console.log("Patient name changed to:", patientName)
}
render() {
return(
<div class="container-fluid">
<div class="row">
<div class="col-sm-3 col-md-2 sidebar">
<ul class="nav nav-sidebar">
<li><a href="#">Alexandre Miranda</a></li>
<li><a href="#">Felipe Neves</a></li>
<li><a href="#">Andressa Lyra</a></li>
<li><a href="#">Artur Lyra</a></li>
<li><a href="#">Antonio Lyra</a></li>
<li><a href="#">Ricardo Lyra</a></li>
// When I submit, I want to show the patientName here as a list item....
</ul>
</div>
</div>
</div>
);
}
}
Es ist nicht genug Code gezeigt ... im Wesentlichen müssen Sie die Formulardaten als ein Objekt in der übergeordneten Komponente haben. Übergeben Sie es an die Formularkomponente und onSubmit, übergeben Sie es an die übergeordnete Komponente zurück und legen Sie den Status von dort fest. Haben Sie auch dieses Formular Daten an die Sidebar-Komponente und so dann, wenn State Updates, wird es auch diese Komponente zu aktualisieren – erichardson30
@ erichardson30 Könnten Sie mein Projekt sehen und mir bitte helfen? https://github.com/alex42miranda/Test –
@ erichardson30 Ich habe bereits ein Problem darüber eröffnet. –