Как я могу сохранить состояние переключения и не потерять после обновления страницы - PullRequest
0 голосов
/ 30 мая 2018

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

constructor(props){
    super(props);

    this.state ={
        value: 1,
        toggled: undefined
    };
    this.handleToggle = this.handleToggle.bind(this);
} 

handleToggle = (event,toggled,index) => {
    this.setState({toggled});

    if (toggled == true){
         ///sync the Calendar code////
    }else{
        /// un sync ////
    }
}

и здесь после возврата

  <Toggle label={translate('sync')}
          onToggle={this.handleToggle}
          toggled={this.state.toggled}
  />

есть ли где-нибудь, чтобы сохранить состояние taggle, отличное от this.state?

1 Ответ

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

Сохранение состояния в localStorage при размонтировании и повторное заполнение при первоначальном монтировании

constructor(props){
    super(props);
    const local = localStorage.getItem('state');
    if(local) {
       this.state =JSON.parse(local)
    } else {
          this.state ={
               value: 1,
               toggled: undefined
          };
          this.handleToggle = this.handleToggle.bind(this);
    }
}

handleToggle = (event,toggled,index) => {
    this.setState({toggled});
    if (toggled == true){
         ///sync the Calendar code////
    }else{
       /// un sync ////
}

componentWillUnmount() {
   localStorage.setItem('state', JSON.stringify(this.state));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...