Реагируйте на Native asyncstorage, чтобы сохранить стиль кнопки - PullRequest
0 голосов
/ 09 мая 2018

У меня есть две кнопки, которые я хотел бы сохранить стиль в асинхронном хранилище. На данный момент они сохраняются в таком состоянии:

 state = {
  itemOne:styles.button,
  itemTwo:styles.button,
}

И в зависимости от значения стили меняются

  if (value) {
                switch (value) {
                    case "Low":
                        this.setState({itemOne: styles.styleOne});
                        break;
                    case "Moderate":
                        this.setState({itemOne: styles.styleTwo});
                        break;

                }
            }

И кнопка на виде выглядит так

 <Button
                        style={this.state.itemOne}
                        onPress={() => {
                            this.popupDialog.show();
                        }}
                    >

Я использую AsyncStorage для сохранения состояния, но появляется эта ошибка

 Warning: Failed prop type: Invalid props.style key `0` supplied to `View`.
Bad object: {
  "0": "6",
  "1": "9",
  "opacity": 1
}

Пожалуйста, помогите!

1 Ответ

0 голосов
/ 10 мая 2018

Вы можете сохранить объект с помощью JSON-сериализации / десериализации. Как вы хранили объект стиля в AsyncStorage? Можете ли вы добавить свой код AsyncStorage? Если вы получите и установите, как это. Будет исправлено

await AsyncStorage.setItem("myStyle", JSON.stringify(style)); //for set

и

var style = JSON.parse(await AsyncStorage.getItem("myStyle"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...