Le comportement souhaité est de passer un argument (texte) au gestionnaire onClick à console.log mais il semble que je fasse quelque chose de mal avec la syntaxe.
Si je laisse l'argument comme ci-dessous, cela fonctionne bien :
export default class Nav extends Component {
componentDidMount() {
this.props.pickNumber(3);
}
onPress() {
console.log('FOOOBAAR');
}
render() {
return (
<View>
<Text>####################</Text>
<Text>Intro Screen</Text>
<Text>Number: {this.props.numbers}</Text>
<TouchableHighlight onPress={this.onPress.bind(this)}>
<Text>Go to Foo</Text>
</TouchableHighlight>
</View>
);
}
}
Cependant, si je veux passer un argument au gestionnaire onPress, il se plaint "Impossible de lire la propriété 'bind' d'undefined.
export default class Nav extends Component {
componentDidMount() {
this.props.pickNumber(3);
}
onPress(txt) {
console.log(txt);
}
render() {
return (
<View>
<Text>####################</Text>
<Text>Intro Screen</Text>
<Text>Number: {this.props.numbers}</Text>
<TouchableHighlight onPress={this.onPress('foo').bind(this)}>
<Text>Go to Foo</Text>
</TouchableHighlight>
</View>
);
}
}
Merci
Ajout : Si je le change en :
onPress={this.onPress.bind('foo')}
cela ne fonctionne pas non plus.
0 votes
En passant, techniquement,
bind
n'est pas du tout nécessaire dans ce cas puisquethis
n'est pas référencée dans leonPress
fonction.