更改 react-navigation 参数时阻止导航
Preventing navigation when changing react-navigation params
我有 tabnavigator,其中嵌套了 stacknavigators,当我更改其中一个 tabnavigators 屏幕参数时,它会导航到该选项卡(更改发生在 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 })
}
}
我通过在用户导航到选项卡而不是更改语言时更改参数来修复该行为。
我有 tabnavigator,其中嵌套了 stacknavigators,当我更改其中一个 tabnavigators 屏幕参数时,它会导航到该选项卡(更改发生在 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 })
}
}
我通过在用户导航到选项卡而不是更改语言时更改参数来修复该行为。