react-native save button status after changing screens

后端 未结 2 805
Happy的楠姐
Happy的楠姐 2021-01-20 23:39

I have 5 buttons [\"running\", \"riding\", \"reading\", \"coding\", \"Niuer\"] in my app and when I click on it, the button changes its color and displays the title on screen. I

2条回答
  •  盖世英雄少女心
    2021-01-20 23:51

    There are a number of ways you could achieve this - one simple way might be to use the AyncStorage API to persist the state of your buttons so that it can be restored on return to this screen.

    So you could use this by:

    import { AsyncStorage } from "react-native"
    

    and then in _singleTapMultipleSelectedButtons_limited(interest) you could add the following to the end of the function:

    AsyncStorage.setItem('button_state',
         JSON.stringify(this.state.multipleSelectedDataLimited));
    

    finally, you'd add this method to your component to initialise your button state from any data that was persisted:

    componentDidMount() {
      try {
        // Fetch data from store if it exists
        AsyncStorage.getItem('button_state').then(data => {
    
          // If data present, try and parse it and restore button state from it
          if(data) {
            const multipleSelectedDataLimited = JSON.parse(data);
            this.setState({ multipleSelectedDataLimited })
          }          
        });
      }
      catch(err){
        console.log('Failed to load button state')
      }
    }
    

    Hope this helps!

提交回复
热议问题