2016-05-26 11 views
0

NavigationExperimentalをReact Nativeに実装しようとしています。 私は、Reduxを介してAppContainerにタイトルを送信するonChangeTab関数を取得しました。 私はそれを動作させましたが、何らかの理由でrenderOverlayがタイトルを再レンダリングして更新していますが、renderSceneは一度だけ実行されます。React Native NavigationExperimental Redux renderSceneが一度だけ実行され、更新された小道具が更新されない

以下のコード内のコメントを参照してください:ここでは

class AppContainer extends React.Component {  
    render() { 
    return (
     <NavigationCardStack 
     navigationState={this.props.navigationState} 
     onNavigate={this.props.onNavigate} 
     renderOverlay={props => { 
      // Here title updates and executes every time I change to another tab. 
      console.log(props.navigationState.title, 'title'); 
      return (
       <Text>{props.navigationState.title || 'Title'}</Text> 
      ) 
     }} 
     renderScene={(props) => { 
      // Here does not change because it is executed just one. 
      console.log(props.navigationState.title, 'title'); 
       return (
       <View> 
        <View style={styles.appbar}> 
        <Text style={styles.title}>{props.navigationState.title || 'Title'}</Text> 
        </View> 
        <View> 
        <TabsView /> 
        </View> 
       </View> 
      ) 
     }} 
     /> 
    ) 
    } 
} 

const mapStateToProps = (state) => { 
    // Here title updates every time I change to another tab. 
    console.log(state.navigationState.title); 
    return { 
    navigationState: state.navigationState 
    } 
} 

const mapDispatchToProps = (dispatch) => { 
    return { 
    onNavigate: (action) => { 
     if (action.type && (
     action.type === NavigationRootContainer.getBackAction().type || 
     action.type === NavigationCard.CardStackPanResponder.Actions.BACK.type) 
    ) { 
     dispatch(navigatePop()) 
     } else { 
     dispatch(navigatePush(action)) 
     } 
    } 
    } 
} 

export default connect(
    mapStateToProps, 
    mapDispatchToProps 
)(AppContainer) 

は私の減速である:

function navigationState(state = initialNavState, action) { 
    switch (action.type) { 
     case TITLE_PUSH: 
      return { 
       ...state, 
       title: action.title 
      } 
     ... 

答えて

関連する問題