2017-03-24 11 views
10

リアクションナビゲーションのヘッダータイトル内のRedux状態全体にアクセスできますか?リアクションナビゲーション:ヘッダータイトルをRedux状態で使用/変更

official docsは、ナビゲーションに対応する状態がアクセス可能であることを言う:

static navigationOptions = { 
    title: ({ state }) => `Chat with ${state.params.user}` 
    }; 

しかし、私はタイトル更新その状態を更新して、私のReduxの状態の他の部分にアクセスしたいです。それは今日可能ですか?

+2

どの程度反応する-ヘルメットReduxのに接続されていますか? –

答えて

1

これは少しの回避策で可能です。

static navigationOptions = { 
    header: (navigation) => { 
     return <HomeViewTitle />; 
    } 
} 

をして、あなたが接続できます。私も、あなたはちょうどこのようなあなたのヘッダーに新しいコンポーネントを使用する必要がどちらか私は

:-)この素晴らしい機能呼び出します。この回避策を呼び出すことはありませんReduxの状態で私の場合のHomeViewTitle:その後、

import React, { Component } from 'react'; 

import { 
    View, 
    Text 
} from 'react-native'; 

import { connect } from 'react-redux'; 


class HomeViewTitle extends Component { 

    render() { 

     return (

      <View style={{height: 64, backgroundColor: '#000000', alignItems: 'center', justifyContent: 'center', paddingTop: 20}}> 
       <Text style={{color: '#FFFFFF', fontSize: 17, fontWeight: 'bold'}}>Home</Text> 
      </View> 

     ); 

    } 

} 

const mapStateToProps = (state) => { 
    return state; 
} 

export default connect(mapStateToProps)(HomeViewTitle); 

はあなたがHomeViewTitleで小道具としてあなたのReduxの状態を持っていて、動的なヘッダーを設定することができます

+0

ヘッダーに画像やボタンなどを入れることは可能ですか?それはどのようにレンダリングされますか – amaurymartiny

+0

はい、基本的にすべてをヘッダに入れることは可能です。これは、他のすべてのredux接続コンポーネントがレンダリングするのと同じ方法をレンダリングします。私の場合は、ヘッダーに画像があり、アプリの開始時には利用できません。アプリケーションが読み込まれると、jsonの要求が行われ、画像がreduxストアに読み込まれます。イメージが店舗内にあるとき、それはHeaderViewTitleを更新し、イメージが表示されます – vanBrunneren

+0

しかし、この方法では、反応ナビゲーションを備えた箱から出てくるすべての自動プラットフォームスタイリング機能が失われます。 :( – Noitidart

関連する問題