Linked Questions

Popular Questions

I'm trying to make a button in React Native using TouchableOpacity's onPress. I got it working before, but now that I added some extra functionality in the function 'like', it does not work anymore.

The onPress should give an argument with the function.

I get the Error Unhandled JS Exception: TyperError: undefined is not an object (evaluating '_this.onPress.bind') in my iOS simulator.

My code:

export default class App extends Component {
  constructor(props) {
    this.state = { liked: [false, false, false] }
    this.onPress = this.onPress.bind(this)

  like = (id) => {
    const liked = this.state.liked
    liked[id] = !liked[id]
      liked: [!this.state.liked[0], false, false ],

  render() {
    return (
      <Swiper style={SliderStyles.wrapper} showsButtons={false}>
        <View style={SliderStyles.slide1}>
          <View style={CardStyles.card}>
            <View style={CardStyles.card_img} >
              <Image source={require('./recources/ny.jpg')} style={CardStyles.images}/>
            <View style={CardStyles.card_details}>
              <Text style={TextStyles.card_title} >New York</Text>
              <View style={CardStyles.card_action}>
                <TouchableOpacity style={CardStyles.card_button} onPress={() =>}>
                  <Image source={ this.state.liked[0] === true ? 
                                  require('./recources/icons/heart_closed.png') : 
                                } style={CardStyles.card_button_img}/>
              <Text style={TextStyles.card_name}>Seppe De Langhe</Text>

Picture of what my iOS simulator looks like

Thanks for the help!

Related Questions