Как изменить цвет кнопки Like на React Native с помощью Galio - PullRequest
0 голосов
/ 28 мая 2020

Я хочу реализовать кнопку «Нравится», которая меняет цвет значка, когда ей нравится, и которую можно не любить, возвращая изменение цвета и сохраняющуюся в моем приложении. Я использую React Native с expo и фреймворками Galio Это моя попытка:

function like_quote(_this) {
    _this.setState( {iconColor: theme.COLORS.THEME })
    //_this.iconColor= theme.COLORS.THEME //I also tried this
    Alert.alert('Like!') //this is supposed to be where I store the like for my app
}

это внутри render ()

...
            <Button
              onlyIcon
              icon="heart"
          key="like"
              iconFamily="font-awesome"
              iconSize={theme.SIZES.BASE}
              iconColor={'#ffbbbb'}//theme.COLORS.THEME
              color="transparent"
              style={{ marginRight: theme.SIZES.BASE }}
              onPress={() => like_quote(this)}
            />,
    ...

Хотя он ничего не делает с кнопкой. Предупреждение работает нормально, но цвет значка не меняется.

1 Ответ

1 голос
/ 28 мая 2020

Вы должны изменить цвет значка в соответствии с вашим состоянием, нравится он или нет.

    like_quote = () => {
    this.setState({iconColor: theme.COLORS.THEME })
    Alert.alert('Like!') //this is supposed to be where I store the 
    like for my app
    }

      <Button
          onlyIcon
          icon="heart"
          key="like"
          iconFamily="font-awesome"
          iconSize={theme.SIZES.BASE}
          iconColor={this.state.iconColor}  //theme.COLORS.THEME
          color="transparent"
          style={{ marginRight: theme.SIZES.BASE }}
          onPress={() => like_quote()}
        />

Вот я создал закуску, в которой вы можете увидеть пример: Цвет каждого нажатия кнопки , произошла смена иконки

https://snack.expo.io/@waheed25 / улыбается-морковь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...