Nel mio componente Reagire Ho una forma con funzione di onSubmitPerché questo non è presente nella funzione React onSubmit?
<form className="form-horizontal" name="taskForm" onSubmit={this.submitTask}>
submitTask(e) {
e.preventDefault();
console.log(this.props); // undefined
console.log(this) // window object
}
Per qualche ragione this.props
non è portata quando uso modulo onSubmit. Quando I console.log(this.props)
nel costruttore, gli oggetti di scena si disconnettono normalmente.
Quando I console.log(this)
è l'oggetto finestra. Come ottengo lo scopo del componente di reazione?
'onSubmit = {this.submitTask .bind (questo)} '. ** [Link] (http://reactkungfu.com/2015/07/why-and-how-to-bind-methods-in-your-react-component-classes/) **. –
Tahir è corretto, sebbene raccomando di associare la funzione nel costruttore e non dentro il metodo 'render', in modo che si leghi solo una volta, non ogni volta che si chiama il rendering. Un altro modo senza binding sarebbe 'onSubmit = {event => this.submitTask (event, this.props)}' – azium
La risposta di @azium dovrebbe essere la risposta corretta ... hai pieno accesso a oggetti di scena, funzioni e tutto. – Mussser