2017-07-20 14 views
0

私はアイテムのリストを持っています。ユーザーはそれらを好むことができます。 私はAsynStorageを使って状態を保存します。できます。 ストレージを特定のアイテムにバインドすることはできません。私がアイテムを好き/嫌いな場合、同じことがそれらのすべてに対して起こります。ここにコード、アイデアはありますか?あなたは、すべてのユーザーに影響を与えるために同じ名前を使用する場合はReact Nativeを使用してコンテキストを非同期ストレージにバインドする方法

componentWillMount() { 
    this._renderSwitchButtonWithAsyncStorage().done; 
} 

_renderSwitchButtonWithAsyncStorage = async() => { 
      let token = await AsyncStorage.getItem('AlreadyLiked'); 

      if (token){ 
      this.setState({trueSwitchIsOn: true}); 

      }else{ 
      this.setState({trueSwitchIsOn: false}); 
      } 
     }; 



onPressIcon(word){ 
       AsyncStorage.setItem('AlreadyLiked', JSON.stringify({trueSwitchIsOn})); 
} 
+0

あなたが希望最初の引数の文字列として渡す別の 'キー'を設定する必要があります。その方法で値を何かに設定すると、それはそのキーの影響を受けるだけです –

+0

@MattAft、もっと詳細を教えてください。私は、onPressIcon(word){AsyncStorage.setItem(JSON.stringify(word)、JSON.stringify({trueSwitchIsOn}))のように(単語を)渡そうとしましたが、それを動作させることはできませんでした – Sonia

答えて

0

使用するさまざまAsyncStorageキー名は、 ので、各ユーザーが使用している別のキー、私はそれを得た

+0

まあまあ、初心者これで、詳細を教えてください。 onPressIcon(word){ AsyncStorage.setItem(JSON.stringify(word)、JSON.stringify({trueSwitchIsOn}));しかし、動作させることができませんでした – Sonia

1

、ありがとう:

onPressIcon(word){ 

       const { _key} = this.props.navigation.state.params; 

       AsyncStorage.setItem(JSON.stringify({_key}),JSON.stringify({trueSwitchIsOn})); 

//Check if token exists 
_renderSwitchButtonWithAsyncStorage = async() => { 
       const {_key} = this.props.navigation.state.params; 
       let token = await AsyncStorage.getItem(JSON.stringify({_key})); 
関連する問題