2016-06-15 3 views
0

プロジェクトでこの共有コンポーネントを作成できません。 これは、そのコードの簡易版である:私は何を取得し、私が私のSharedViewからそれを見ることができないようで、私のmapStateToPropsの内側console.logまたはalertを追加しようとしてグローバルステート(Redux)から値を取得できません

import React from 'react'; 
import { View } from 'react-native'; 
import { connect } from 'react-redux'; 

function mapStateToProps(state) { 
    return { 
    platform: state.device.get('platform') //defines if iOS or Android 
    }; 
} 

export function SharedView({ theme, ...props }) { 
    return <View {...props}>{theme}</View>; 
} 

export default SharedView(
    connect(mapStateToProps, null) 
); 

。私はクラスSharedView extends Component { ...に書き直すことができますが、何らかの理由でフォーマットを維持する必要があります。

このグローバル状態値を取得する方法はありますか?

+0

これを使用してみてください: '輸出のデフォルトは(mapStateToProps、ヌル)(SharedView)'、いない接続: 'SharedView(...接続)' –

+0

提案のおかげで、まだこの構文では同じような状況を。 –

+0

あなたの 'mapStateToProps'を確認してください。' state'は未定義ですか? –

答えて

2

connectは高次関数です。コンポーネントはそれ以外の方法でラップされているはずです。

export default connect(mapStateToProps)(SharedView); 
+0

提案に感謝しますが、この構文でも同じ状況です。 –

+0

アプリコンポーネントをプロバイダコンポーネントにラッピングしましたか? –

関連する問題