React-Navigation StatusBar IOS状态栏字体颜色乱跳问题

React-Navigation StatusBar状态栏字体颜色乱跳问题

现象

在A界面render里面设置状态栏为白色,调用react-navigationnavigation.navigate('setting',{title:'设置'})跳到设置页 B页。并在B界面render里设置状态栏为黑色,过一会突然变成了白色。(Ps:把写在render里)

原因

StatusBar是全局的,当界面停留至B界面,在A界面里数据改变就会调用A界面的render 方法,进而改变B界面的状态栏,并不是笔者最初理解的在B界面决定B界面状态栏背景色只是B界面render里面的组件

解决办法

1、把设置状态栏背景色的相关的方法和属性移除,
2、监听导航栏生命周期,或者在决定跳往其他界面时调用StatusBar.setBarStyle('light-content');方法

你可能感兴趣的:(RN踩坑之旅)