提前,对不起,如果我的英语不是最好的。
我已经很长时间没有在 React Native 上工作了,现在我必须用它来实现一个应用程序。我目前使用:
- 安卓工作室 3.3
- 安卓 9.0 API 28
- 反应原生 0.57.8
- 反应路由器 4.3.1
- 反应路由器本机 4.3.0
- 反应路由器导航 2.0.0-alpha.10
当我添加路由器时,样式就像背景颜色一样。从那时起,应用程序的背景只有白色,无论哪个组件在我使用视图时都不能代表边框。
我可能错过了什么吗?
我已经在每一点测试了 View 元素。结果相同。正如我所说,在我使用 React Router 之前,它是有效的。随着 React Native Paper 和 Redux 的集成,没有任何问题。我还尝试自定义styles.xml。虽然这确实适用于永久更改背景颜色,但这就是为什么我仍然不能将 Border 放在任何组件中。我还在卡片组件中尝试了“组件”而不是“渲染”。并且还带有自己的布局组件。
应用程序.js
import React from 'react'
import { StyleSheet, View } from 'react-native'
import { Provider as StoreProvider } from 'react-redux'
import { createStore } from 'redux'
import reducers from './reducers'
import { NativeRouter } from 'react-router-native'
import { Navigation, Card } from 'react-router-navigation'
import { Provider as PaperProvider } from 'react-native-paper'
import theme from './assets/js/theme'
import { Login } from './components/Views'
const appStyles = StyleSheet.create({
root: {
backgroundColor: theme.colors.background
}
})
export default App = () => {
return (
<View styles={ appStyles.root }>
<StoreProvider store={createStore(reducers)}>
<PaperProvider theme={theme}>
<NativeRouter>
<Navigation hideNavBar>
<Card
exact
path="/"
render={() => <Login/>}
/>
</Navigation>
</NativeRouter>
</PaperProvider>
</StoreProvider>
</View>
)
}
Login.js 的一部分
const loginStyles = StyleSheet.create({
login: {
width: 400,
height: 400,
borderWidth: 4,
borderColor: theme.colors.error,
borderRadius: 3,
padding: 20,
justifyContent: 'center'
}
})
class Login extends Component {
render() {
console.log('LOGIN')
return (
<View styles={loginStyles.login}>
<Text style={{ color: theme.colors.error, alignSelf: 'center' }}>Test</Text>
</View>
)
}
}
都没有奏效。感谢帮助。