Ich arbeite in React und beim Lesen Ich entschied mich, meine integrierende Bindung des Ereignishandlers in meinem Konstruktor wie sie empfehlen zu wechseln. Das Problem ist, wenn ich das tue, verliere ich die Fähigkeit, meine Formularvariable an die onChange Material-UI Checkbox Funktion zu übergeben. Hier ist mein entsprechenden CodeReaktion Bindemethode in Konstruktor - wie in Argument übergeben
Client/Aussicht/ProspectForm.jsx
class ProspectForm extends React.Component {
constructor(props) {
super(props)
// Bind Methods
this.handleChangeProductType = this.handleChangeProductType.bind(this)
this.state = {
inquiryDate: moment().toDate(),
productTypes: {list: [], other: '', },
otherChecked: false,
}
}
handleChangeProductType(a){
console.log(a)
}
render() {
return(
<div className="field">
{ this.props.allProductTypes.map((referralSource, k) =>
<Checkbox
checked={this.checkProductType(referralSource)}
onCheck={this.handleChangeProductType(referralSource)}
label={referralSource}
key={k} />
)}
</div>
)
}
}
export default createContainer(() => {
const productTypes = [
"Independent Living",
"Memory Care",
"Beauty Shop",
"Skilled Nursing",
"Therapy Rental",
]
return {
productTypes: productTypes,
}
}, ProspectForm)
So im Wesentlichen, wenn ich die onChange mit dem Argument nennen, wie die
this.handleChangeProductType(referralSource)
tut es nicht wirklich Rufen Sie die Methode auf. Als ich es wie folgt nennen
onChange={this.handleChangeProductType}
sie das Verfahren nicht nennen, aber ich habe keinen Zugriff auf die referralSource in der Funktion, die ich den Zustand Objekt festlegen müssen, so kann ich die diejenigen verfolgen werden überprüft und sie senden zusammen mit meiner Form. Also, wie mache ich das so, dass ich die bind-Methode im Konstruktor verwenden und mein Argument an die Methode übergeben kann? Vielen Dank im Voraus
https://medium.com/@john1jan/react-binding-revealed-aa458df8c136 https://medium.com/@john1jan/react-binding-revealed-part-2-d83a52a044ee – John