Je fais face à l'erreur mentionnée ci-dessus lorsque j'essaie de définir un nombre pour chaque fois que le bouton est enfoncé.
export default class ViewIdeas extends Component{
get InitialState(){
return {
count : 0
}
}
render(){
return(
.......
<Button transparent>
<Icon name='ios-thumbs-up-outline' style={{fontSize:21}}
onPress={() => this.setState({count: ++this.state.count})}/>
<Text>{'Like' + this.state.count}</Text>
</Button>
Veuillez définir l'état comme ceci
constructor(props){
super(props);
this.state = {
count: 0,
}
}
Et puis vous pouvez faire this.state.count
Il existe deux approches pour créer une classe React: ES6 et en utilisant React.createClass.
Les deux approches ne sont pas interchangeables. Vous devez initialiser l'état dans le constructeur lors de l'utilisation des classes ES6 et définir la méthode getInitialState
lors de l'utilisation de React.createClass
.
Voir le document officiel React sur le sujet des classes ES6 .
class MyComponent extends React.Component {
constructor(props) {
super(props);
this.state = { /* initial state */ };
} // Note that there is no comma after the method completion
}
est équivalent à
var MyComponent = React.createClass({
getInitialState() {
return { /* initial state */ };
},
});
Une autre chose à noter serait qu'il n'y a pas de virgule après la méthode constructeur.