Mam problem z funkcją natywnego reagowania onPress. Urządzenie onPress powinno działać tylko wtedy, gdy zostało faktycznie wyzwolone przez zdarzenie dotykowe (tak przypuszczam), to znaczy, gdy naciśnięto przycisk na ekranie. Wygląda jednak na to, że onPress uruchamia się sam, gdy wywoływana jest funkcja render. Kiedy próbuję nacisnąć ręcznie, nie działa.React Native onPress jest automatycznie wywoływany
import React, { Component } from 'react';
import { PropTypes, Text, View ,Alert } from 'react-native';
import { Button } from 'react-native-material-design';
export default class Home extends Component {
render() {
return (
<View style={{flex:1}}>
<Button value="Contacts" raised={true} onPress={this.handleRoute('x')} />
<Button value="Contacts" raised={true} onPress={this.handleRoute('y')} />
<Button value="Contacts" raised={true} onPress={this.handleRoute('z')} />
</View>
);
}
handleRoute(route){
alert(route) // >> x , y, z
}
}
module.exports = Home;
Czego mi brakuje? Czy coś jest nie tak ze sposobem, w jaki je przypisałem, czy też jest to jakiś błąd? Każda sugestia jest bardzo ceniona.
Tylko raz dotknąłem reactjs, ale myślę, że wywołujesz funkcję zamiast ją przypisywać. – cipher