【问题标题】:Preventing navigation when changing react-navigation params更改反应导航参数时阻止导航
【发布时间】:2017-07-26 11:29:48
【问题描述】:

我有其中嵌套了 stacknavigator 的 tabnavigator,当我更改其中一个 tabnavigator 屏幕参数时,它会导航到该选项卡(更改发生在 componentWillReceiveProps 中,使用告诉它更新的 redux 值)。有什么办法可以防止这种行为?如果不是,那么当我更改 react-native-localization 语言时,您会如何建议更新标题?

Image of unwanted navigation behaviour

setLanguage (language) {
    AsyncStorage.setItem('@Language', language)
        .then(() => {
            Localization.setLanguage(language)
            this.props.setLocalization(Localization)
        })
    }  

setLocalization: (localization) => dispatch(SettingsActions.setLocalization(localization))

并且在它导航到的组件上,但我不希望它导航到

static navigationOptions = () => {
    return {
        title: Localization.events_2
    }
}

componentWillReceiveProps (nextProps) {
    if (nextProps.localization && nextProps.localization.language !==
    this.props.localization.language) {
        const {setParams} = this.props.navigation
        setParams({ title: nextProps.localization.events_2 })
    }
}

【问题讨论】:

标签: react-native localization redux react-navigation


【解决方案1】:

我通过在用户导航到选项卡而不是更改语言时更改参数来修复此行为。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-21
    • 1970-01-01
    • 1970-01-01
    • 2018-08-05
    相关资源
    最近更新 更多