gpt4 book ai didi

javascript - 有没有办法在不调用 setParams (react-navigation) 的情况下重新渲染导航栏?

转载 作者:行者123 更新时间:2023-12-01 03:40:33 24 4
gpt4 key购买 nike

我正在为我的应用程序实现多语言功能,但我在更改 react 导航标题标题(使用 react 导航)时遇到了困难。我不想在每个屏幕中调用 setParams 来根据所选语言更改标题标题。

这是我的堆栈:

Home -> Settings -> App Settings -> Language Settings.

我在语言设置屏幕上选择语言。按导航栏上的默认后退按钮返回后,App Settings 屏幕中的 static navigationOptions 被调用(这是我根据当前语言设置标题的位置),即使我不这样做不调用 setParams(),我不知道为什么它没有重新渲染 => 标题标题没有改变。

有办法解决这个问题吗?

<小时/>

嗨@JavaEvgan这是我的代码:

    <AppNavigator navigation={addNavigationHelpers({
dispatch: this.props.dispatch,
state: this.props.navigationState
})}/>

连接到 redux 存储

export default connect(state => ({
navigationState: state.navigationState,
}), dispatch => ({
dispatch: dispatch
}))(MainLayoutContainer)

最佳答案

我找到了解决方案,使用 screenProps 向 child 传递额外的信息 https://reactnavigation.org/docs/navigators/stack#Navigator-Props

    <AppNavigator
screenProps={this.props.settings}
navigation={addNavigationHelpers({
dispatch: this.props.dispatch,
state: this.props.navigationState
})}/>

并将其连接到 redux 存储

export default connect(state => ({
settings: state.settings,
navigationState: state.navigationState,
}), dispatch => ({
dispatch: dispatch
}))(MainLayoutContainer)

像这样,static navigationOptions 会在每次商店设置发生更改时被调用并重新渲染

关于javascript - 有没有办法在不调用 setParams (react-navigation) 的情况下重新渲染导航栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43913691/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com