【发布时间】:2021-10-31 08:36:10
【问题描述】:
我最近从 RN 0.60 更新到 0.65,经过数小时的调试后,我可以让我的应用重新构建和运行。但是,由于某种原因,我的应用的背景颜色已从白色变为灰色。
我正在使用 react-native-router-flux 进行导航,但要么样式在最新的 react-native 版本中被破坏,要么我遗漏了一些明显的东西。
它一直是这样设置的:
const RouterComponent = () => {
const sceneConfig = {
cardStyle: {
backgroundColor: 'white',
},
};
return (
<Router {...sceneConfig}/>
[...]
</Router>
这不再做任何事情。以下是我尝试过的其他方法:
- 使用
sceneStyle直接将样式属性添加到<Router>,如the docs 中推荐的那样 - 使用
style属性直接为每个单独的场景添加样式属性
这些方法都不起作用,我现在被一个在每个屏幕上都有灰色背景 (#f2f2f2) 的应用程序困住了。我什至不确定这是否是 react-native-router-flux 的问题,但这似乎是最可能的原因。
深入研究 Github 存储库上的问题,我发现有人指出这可能与 react-native-screens 不兼容,这似乎是由于升级到 RN 0.65 而添加到我的项目中的。这是在黑暗中拍摄的,因为我什至不确定该库的用途。
有没有人设法在 RN 0.65 和 react-native-router-flux v4.3.0 上更改其应用的背景颜色?
编辑:
以下是我尝试为单个场景设置样式的示例,但没有成功:
<Scene
title={'Profile'}
renderTitle={() => <View />}
// Neither of the below options has any effect
sceneStyle={{backgroundColor: 'red'}}
style={{backgroundColor: 'red'}}
key="profile"
hideNavBar
icon={TabIcon}
iconName="account-circle-outline"
back={false}
component={Profile}
/>
【问题讨论】:
-
能否添加相关代码“使用样式属性直接将样式属性添加到每个单独的场景中”?它应该可以正常工作。
-
@nima 是的,我已经更新了回复。我还尝试在单个场景中使用
sceneStyle属性。都没有用。
标签: react-native react-navigation react-native-router-flux react-native-screens