【发布时间】: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 })
}
}
【问题讨论】:
-
请附上关于您的问题行为的图片。并请包含一些与您的问题相关的代码
-
github.com/aajiwani/react-navigation-aware-helper 你可以试试这个,我已经创建来简化这个参数问题。
标签: react-native localization redux react-navigation