反応ネイティブのチェックボックスの状態に基づいてコンポーネントを表示/非表示にする

user3521011

設定ページでは、デフォルト値としてチェックボックスがオンになっています。ユーザーがチェックを外すと、アプリケーション内のすべての画像が非表示になり、ユーザーはアプリケーション全体で画像を表示できなくなります。チェックボックスの状態 (チェックされているかどうか) を制御する必要があると思います。チェックボックスをクリック/押すときにその値を変更し、その新しい値をすべてのアプリ ( HOW? ) に渡し、その値に基づいて決定できます画像を表示するかどうか。

したがって、基本的に、私の問題は、そのステータス値にアクセスして、表示するものを決定することです。設定ページで使用しているコードは次のとおりです。

設定ページ:

     constructor(props) {
                super(props);

                this.state ={
                    status:false
                }
            };

        toggleStatus(){
            this.setState({
                status:!this.state.status
            });

 //I even hardcoded it to false but i keep getting null 

       AsyncStorage.setItem('myCheckbox',JSON.stringify(false));
                //AsyncStorage.setItem('myCheckbox',JSON.stringify(this.state.status));

                }
        ...
        render() {
        return(
        <TouchableOpacity onPress={()=>this.toggleStatus()}>
            <Text>
                press me to change state 
            </Text>
        </TouchableOpacity>

2 番目のページ: asyncStorage に格納されている値にアクセスする必要がある場所

componentDidMount() {
        const value =   AsyncStorage.getItem('myCheckbox', (value) => {
            JSON.parse(value) 
            console.log("my check box value ", value)
        });

    }

そして私はコンソールに入り続けます: ここに画像の説明を入力してください

このコードは正常に機能しており、押すたびにステータスの値が false から true に変わります。

UPDATEは、設定ページで待機せずに単純な文字列を保存しようとしています。

 toggleStatus() {
        this.setState({
            status: !this.state.status
        });
        AsyncStorage.setItem("myCheckbox", "save me");

        console.log("in the toggle status function", this.state.status)
    }

私が使用したページで:

componentDidMount(){

        let value = AsyncStorage.getItem("myCheckbox")

        console.log('in the other page i get ', value)

        }

そして私はコンソールに入ります:ここに画像の説明を入力してくださいどうしたの?!

PS: ネイティブ ベースを使用していて、touchableOpacity の代わりにチェック ボックス自体で onPress を実行できるかどうか疑問に思っていました。

クリソフォロ・ガスパール

AsyncStorageグローバルstorageメカニズムとして使用できます

この場合、アプリの他の部分で変数にアクセスします。

try {
  const value = await AsyncStorage.getItem('myCheckbox');
  if (value !== null){
    console.log(value);
  }
} catch (error) {
  // Error retrieving data
}

そしてそれを保存するために toggleStatus

次を使用できます。

try {
  await AsyncStorage.setItem('myCheckbox', 'myValue');
} catch (error) {
  // Error saving data
}

したがって、アプリを開いたり閉じたりするたびに、以前と同じように利用できる状態になります。からの場合はインポートできますreact-native

import { AsyncStorage } from 'react-native';

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ラジオボタンのチェック状態に基づいてテキストボックスを動的に非表示にします

分類Dev

チェックボックスのクリックにコンポーネントを表示して反応する

分類Dev

FlowRouterとの反応:ルートに基づいてコンポーネントを表示/非表示にする方法

分類Dev

スタイル付きコンポーネントで三項を使用せずに、チェックボックスの状態に基づいてチェックボックスの子のスタイルを設定することはできますか?

分類Dev

ボタンに基づいてコンポーネントを表示するには、反応フックを使用する必要があります

分類Dev

別のページのチェックボックスの状態に基づいてDIVを表示または非表示にする方法は?

分類Dev

他のチェックボックスの状態に基づいてコンテンツコントロールチェックボックスの状態を変更する

分類Dev

現在アクティブなルートに基づいてルートコンポーネントのhtmlを非表示にする

分類Dev

ネイティブに反応する-子コンポーネントの状態更新を親コンポーネントに反応フックで通知しますか?

分類Dev

反応コンポーネントの状態に基づいてclassNameを更新する最良の方法

分類Dev

反応テーブルのファイアストアの値に基づいてチェックボックスのデフォルト状態を設定するにはどうすればよいですか

分類Dev

チェックされたチェックボックスに基づいて1つ以上のコントロールを表示または非表示にするリストアイテム

分類Dev

複数の子コンポーネントの状態を更新するネイティブに反応する

分類Dev

チェックボックスに基づいてリストアイテムを表示/非表示にする(フィルタリング)

分類Dev

ボタンをクリックして現在のステージを閉じ、新しいステージのコンポーネントを非アクティブにせずに新しいステージを表示する方法

分類Dev

Javascriptのチェックボックスに基づいて表示または非表示にするボタン

分類Dev

ウェブサイトのパスに基づいてコンポーネントを非表示にするために反応する機能はありますか?

分類Dev

以前の状態をチェックするネイティブに反応する

分類Dev

Vueとブートストラップ:メディアブレークポイントに基づいてさまざまなコンポーネントを表示する方法は?最新のコンセンサスは何ですか?

分類Dev

反応フック機能コンポーネントの検索結果に基づいて子コンポーネントを更新する

分類Dev

React-フックを使用して、onChangeイベントに基づいてコンポーネントを表示または非表示にする方法

分類Dev

角度コンポーネントの表示/非表示(クリックに基づいてこれら2つの角度コンポーネントを切り替える(表示または非表示)必要があります)

分類Dev

状態更新にコンポーネントを再描画するワンステップの背後にある:フックを反応させます

分類Dev

Angular:他のコンポーネントの状態に応じてコンポーネントを表示/非表示

分類Dev

チェックボックスコンポーネントの状態にアクセスするにはどうすればよいですか?

分類Dev

チェックボックスに基づいてテーブル行を非表示にする

分類Dev

jQuery: クリックされたボタンに基づいてテーブルの行を非表示/表示する

分類Dev

反応ネイティブで配列内の画像URIに基づいて画像コンポーネントをレンダリングする方法

分類Dev

機能コンポーネントを使用して反応するボタンをクリックしたときにボタンを非表示にする方法

Related 関連記事

  1. 1

    ラジオボタンのチェック状態に基づいてテキストボックスを動的に非表示にします

  2. 2

    チェックボックスのクリックにコンポーネントを表示して反応する

  3. 3

    FlowRouterとの反応:ルートに基づいてコンポーネントを表示/非表示にする方法

  4. 4

    スタイル付きコンポーネントで三項を使用せずに、チェックボックスの状態に基づいてチェックボックスの子のスタイルを設定することはできますか?

  5. 5

    ボタンに基づいてコンポーネントを表示するには、反応フックを使用する必要があります

  6. 6

    別のページのチェックボックスの状態に基づいてDIVを表示または非表示にする方法は?

  7. 7

    他のチェックボックスの状態に基づいてコンテンツコントロールチェックボックスの状態を変更する

  8. 8

    現在アクティブなルートに基づいてルートコンポーネントのhtmlを非表示にする

  9. 9

    ネイティブに反応する-子コンポーネントの状態更新を親コンポーネントに反応フックで通知しますか?

  10. 10

    反応コンポーネントの状態に基づいてclassNameを更新する最良の方法

  11. 11

    反応テーブルのファイアストアの値に基づいてチェックボックスのデフォルト状態を設定するにはどうすればよいですか

  12. 12

    チェックされたチェックボックスに基づいて1つ以上のコントロールを表示または非表示にするリストアイテム

  13. 13

    複数の子コンポーネントの状態を更新するネイティブに反応する

  14. 14

    チェックボックスに基づいてリストアイテムを表示/非表示にする(フィルタリング)

  15. 15

    ボタンをクリックして現在のステージを閉じ、新しいステージのコンポーネントを非アクティブにせずに新しいステージを表示する方法

  16. 16

    Javascriptのチェックボックスに基づいて表示または非表示にするボタン

  17. 17

    ウェブサイトのパスに基づいてコンポーネントを非表示にするために反応する機能はありますか?

  18. 18

    以前の状態をチェックするネイティブに反応する

  19. 19

    Vueとブートストラップ:メディアブレークポイントに基づいてさまざまなコンポーネントを表示する方法は?最新のコンセンサスは何ですか?

  20. 20

    反応フック機能コンポーネントの検索結果に基づいて子コンポーネントを更新する

  21. 21

    React-フックを使用して、onChangeイベントに基づいてコンポーネントを表示または非表示にする方法

  22. 22

    角度コンポーネントの表示/非表示(クリックに基づいてこれら2つの角度コンポーネントを切り替える(表示または非表示)必要があります)

  23. 23

    状態更新にコンポーネントを再描画するワンステップの背後にある:フックを反応させます

  24. 24

    Angular:他のコンポーネントの状態に応じてコンポーネントを表示/非表示

  25. 25

    チェックボックスコンポーネントの状態にアクセスするにはどうすればよいですか?

  26. 26

    チェックボックスに基づいてテーブル行を非表示にする

  27. 27

    jQuery: クリックされたボタンに基づいてテーブルの行を非表示/表示する

  28. 28

    反応ネイティブで配列内の画像URIに基づいて画像コンポーネントをレンダリングする方法

  29. 29

    機能コンポーネントを使用して反応するボタンをクリックしたときにボタンを非表示にする方法

ホットタグ

アーカイブ