希望の動作は、onClickハンドラに引数(テキスト)を渡してconsole.logに渡すことですが、構文に何か間違っているようです。私は以下のように引数を省略した場合react-native onPressバインディングと引数付き
、それがうまく働いています:
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>
);
}
}
をしかし、私はたonPressハンドラに引数を渡したい場合は、それが未定義のバインド 『「プロパティを読み取ることができません』文句を言います。
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>
);
}
}
おかげ
追加: 私はそれを変更した場合:
onPress={this.onPress.bind('foo')}
それはどちらか動作しません。
は、それがエラーを削除しますが、「foo」で文字列には、私もクリックせずに自動的にconsole.loggedます。 – Wasteland
申し訳ありませんが、私は私の答えを更新しました。 this.onPress( 'foo')の前にadd()=>を追加する必要があります。 – inga
それだけです。ありがとう。なぜ私は太い矢印の機能を追加する必要があるのか説明できますか?ありがとう – Wasteland