Ich habe eine scheinbar triviale Frage zu Requisiten und Funktionskomponenten. Grundsätzlich habe ich eine Container-Komponente, die eine Modal-Komponente bei Zustandsänderung rendert, die durch einen Klick des Benutzers auf eine Schaltfläche ausgelöst wird. Das Modal ist eine zustandslose funktionale Komponente, die einige Eingabefelder enthält, die mit Funktionen verbunden sein müssen, die innerhalb der Containerkomponente leben.Reagieren: Requisiten an funktionale Komponenten übergeben
Meine Frage: Wie kann ich die Funktionen innerhalb der übergeordneten Komponente verwenden, um den Status zu ändern, während der Benutzer mit Formularfeldern innerhalb der zustandslosen Modal-Komponente interagiert? Überführe ich Requisiten falsch? Danke im Voraus.
Container
export default class LookupForm extends Component {
constructor(props) {
super(props);
this.state = {
showModal: false
};
}
render() {
let close =() => this.setState({ showModal: false });
return (
... // other JSX syntax
<CreateProfile fields={this.props} show={this.state.showModal} onHide={close} />
);
}
firstNameChange(e) {
Actions.firstNameChange(e.target.value);
}
};
Funktionelle (Modal) Komponente
const CreateProfile = ({ fields }) => {
console.log(fields);
return (
... // other JSX syntax
<Modal.Body>
<Panel>
<div className="entry-form">
<FormGroup>
<ControlLabel>First Name</ControlLabel>
<FormControl type="text"
onChange={fields.firstNameChange} placeholder="Jane"
/>
</FormGroup>
);
};
Beispiel: sage ich this.firstNameChange
aus der Modal-Komponente aufrufen möchten. Ich denke, dass die "Destrukturierungs" -Syntax der Übergabe von Requisiten an eine funktionale Komponente mich etwas verwirrt hat. dh:
const SomeComponent = ({ someProps }) = > { // ... };