React-Navigation StatusBar状态栏字体颜色乱跳问题
现象
在A界面render
里面设置状态栏为白色,调用react-navigation
的navigation.navigate('setting',{title:'设置'})
跳到设置页 B页。并在B界面render
里设置状态栏为黑色,过一会突然变成了白色。(Ps:把<StatusBar />
写在render
里)
原因
StatusBar
是全局的,当界面停留至B界面,在A界面里数据改变就会调用A界面的render
方法,进而改变B界面的状态栏,并不是笔者最初理解的在B界面决定B界面状态栏背景色只是B界面render
里面的组件
解决办法
1、把设置状态栏背景色的相关的方法和属性移除,
2、监听导航栏生命周期,或者在决定跳往其他界面时调用StatusBar.setBarStyle('light-content');
方法