[解決済み] react nativeでコンポーネントを隠す/表示する
2022-04-15 10:03:27
質問
私はReact Nativeの初心者なのですが、コンポーネントを隠したり表示したりするにはどうしたらいいのでしょうか?
以下は私のテストケースです。
<TextInput
onFocus={this.showCancel()}
onChangeText={(text) => this.doSearch({input: text})} />
<TouchableHighlight
onPress={this.hideCancel()}>
<View>
<Text style={styles.cancelButtonText}>Cancel</Text>
</View>
</TouchableHighlight>
を持っています。
TextInput
コンポーネントを表示させたいのです。
TouchableHighlight
入力にフォーカスが当たると
TouchableHighlight
ユーザーがキャンセルボタンを押したとき
にアクセスする方法がわかりません。
TouchableHighlight
コンポーネントを作成し、関数内で表示/非表示を切り替えることができます。
showCancel/hideCancel
.
また、ボタンを最初から非表示にするにはどうしたらよいでしょうか。
解決方法は?
私なら、こんな風にします。
var myComponent = React.createComponent({
getInitialState: function () {
return {
showCancel: false,
};
},
toggleCancel: function () {
this.setState({
showCancel: !this.state.showCancel
});
}
_renderCancel: function () {
if (this.state.showCancel) {
return (
<TouchableHighlight
onPress={this.toggleCancel()}>
<View>
<Text style={styles.cancelButtonText}>Cancel</Text>
</View>
</TouchableHighlight>
);
} else {
return null;
}
},
render: function () {
return (
<TextInput
onFocus={this.toggleCancel()}
onChangeText={(text) => this.doSearch({input: text})} />
{this._renderCancel()}
);
}
});
関連
-
要素ツリー制御によるvueTreeテーブル
-
[解決済み】awaitは非同期関数でのみ有効です。
-
[解決済み】Node.jsで "Cannot find module "エラーを解決するには?
-
[解決済み】React Nativeアプリをターミナルから実行するとエラーが発生する(iOS)
-
[解決済み] React JSX内のループ
-
[解決済み] React NativeとReactの違いは何ですか?
-
[解決済み] Reactで要素を表示・非表示にする
-
[解決済み] react-nativeでキーボードを隠す
-
[解決済み】React Nativeアプリをデバッグするために、AndroidエミュレーターでAndroid端末を「振る」ことで開発メニューを表示させるには?
-
[解決済み】react nativeでボタンを無効化する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
fetch ネットワークリクエストラッパーの説明例
-
Vue Element-uiは、アイコンを追加するためのツリーコントロールノードを詳細に実装しています。
-
vueが定義するプライベートフィルタと基本的な使い方
-
[解決済み】Node.js Error: Cannot find module express
-
[解決済み】「X-Frame-Options」を「SAMEORIGIN」に設定したため、フレームでの表示を拒否された。
-
[解決済み】JavaScript TypeError: null のプロパティ 'style' を読み取ることができない
-
[解決済み】ExpressJS - throw er Unhandled errorイベント
-
nodejs unhandledPromiseRejectionWarning メッセージ
-
JavaScriptのgetElementById、getElementsByTagNam、getElementsByClassNameの違いと使い方
-
JavaScriptのgetElementById()メソッド入門