J'ai l'erreur: Impossible de lire la propriété 'setState' de undefined lors de l'utilisation de la composition et en cours d'exécution avec ramda.Impossible de lire la propriété 'setState' de undefined en utilisant ramda
Voici mon code:
const changeStateOf = _.curry((stateName, stateValue) => {
let obj = {}
obj[stateName] = stateValue
this.setState(obj)
})
const inputValue = (event) => {
return event.target.value
}
const App = React.createClass({
handleOnChange: _.compose(changeStateOf('input'), inputValue),
/* //This is working
handleOnChange: function(event) {
this.setState({input: event.target.value})
},*/
render: function() {
return <div>
<input onChange={this.handleOnChange} value={this.state.input} placeholder="Add something"/>
</div>
}
})
Ce que j'ai essayé:
- Ajout .bind (ce) à handleOnChange
- passer cela comme argument changeStateOf
I sais que je manque quelque chose, mais je ne vois pas où est le problème exactement.
Merci
Il semble que 'onChange = {this.handleOnChange.bind (this)}' devrait fonctionner. C'est ce que tu as essayé? –
Avez-vous essayé 'changeStateOf ('input'). Bind (this)'? –
Essayé à la fois onChange = {this.handleOnChange.bind (this)} (qui enregistre un avertissement qui réagissent à la fonction de liaison automatique pour vous) et handleOnChange: _.compose (changeStateOf ('input'), inputValue) .bind (this). Mais cela ne fonctionne pas – Ahmed