2017-06-23 15 views
0

私は反応ネイティブで作業しています。モバイルアプリにフォームページがあり、編集ボタンと戻るボタンがあります。編集ボタンをクリックすると、編集と戻るボタンの代わりに保存ボタンとキャンセルボタンが必要になり、独自の機能が必要になります。私はcomponentWillUpdate()if else文を私のレンダリング機能で試しましたが、どちらもうまくいかないようです。状態に基づいてコンポーネントを変更する

+2

あなたはこのような何かのためのライフサイクルの関数を使用する必要はありません。単に 'state'変数を持って、編集モードを制御し、ボタンを条件付きでレンダリングします。たとえば、 'onPress = {()=> {this.setState({editing:true})}'と '{this.state.editing && }'のようにします。 Reactは、状態の変更に基づいて再レンダリングを行います。また、いくつかのコードを投稿してください! – G0dsquad

+0

ありがとう!本当に助かった! – vjd

答えて

0

すべてのボタンを状態(たとえば、inEditMode)で制御されたレンダー機能に入れることができます。ユーザーが編集ボタンをクリックすると、inEditModeをtrueに設定し、編集&戻るボタンを表示することができます。このような

何か:

render() { 
 
    this.state.inEditMode ? 
 
     <View> 
 
      <EditButton /> 
 
      <BackButton /> 
 
     </View> : 
 
     <View> 
 
      <CancelButton /> 
 
      <SaveButton /> 
 
     </View> 
 
    }

関連する問題