我正在使用react-navigation并且有一个 StackNavigator 和一个 ParentScreen和一个ChildScreen。
两个屏幕都有相同的导航栏,带有来自 redux 的动态值。实现如问题 #313 中所述
这按预期工作。当我在 DetailScreen 中更新计数变量的值时,它也会更新导航栏中的值。
问题是,如果我回到父场景,导航栏中仍然有旧值。它不会更新为 redux 存储中的当前值。
孩子
父母(当我回去时)
儿童屏幕
class ChildScreen extends Component {
static navigationOptions = {
title: ({ state }) => `Total: ${state.params && state.params.count ? state.params.count : ''}`
};
componentWillReceiveProps(nextProps) {
if (nextProps.count != this.props.count) {
this.props.navigation.setParams({ count: nextProps.count });
}
}
render() {
return (
<View>
<Button onPress={() => this.props.increment()} title="Increment" />
</View>
);
}
}
父屏幕
class ParentScreen extends Component {
static navigationOptions = {
title: ({ state }) => `Total: ${state.params && state.params.count ? state.params.count : ''}`
};
}
有什么建议吗?