react-native - 不再支持如何解决 UIManager['AIRMapLite']。(带有白色徽标的白色屏幕)
问题描述
在过去的 2 天里,我无法解决这个问题。我已经完成了mapview的搜索和阅读文档,但仍然无法解决。
我将向您展示我的代码和我所做的场景。
我的进口
import MapView from 'react-native-maps';
我的功能
export default class App extends Component {
render() {
return (
<View style={styles.container}>
<MapView
zoomEnabled = {true}
style={ styles.map }
initialRegion={{
latitude: 37.78825,
longitude: -122.4324,
latitudeDelta: 0.0922,
longitudeDelta: 0.0421,
}}
/>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
welcome: {
fontSize: 20,
textAlign: 'center',
margin: 10,
},
map: {
position: 'absolute',
top: 0,
left: 0,
right: 0,
bottom: 0,
...StyleSheet.absoluteFillObject,
},
instructions: {
textAlign: 'center',
color: '#333333',
marginBottom: 5,
},
});
最后是google的激活码
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="i make it secret first"
/>
这是我控制台中的错误,我不知道问题是否发生
if (__DEV__) {
Object.keys(UIManager).forEach(viewManagerName => {
if (!UIManagerProperties.includes(viewManagerName)) {
if (!viewManagerConfigs[viewManagerName]) {
viewManagerConfigs[viewManagerName] = UIManager[viewManagerName];
}
defineLazyObjectProperty(UIManager, viewManagerName, {
get: () => {
console.warn(
`Accessing view manager configs directly off UIManager via UIManager['${viewManagerName}'] ` +
`is no longer supported. Use UIManager.getViewManagerConfig('${viewManagerName}') instead.`,
);
return UIManager.getViewManagerConfig(viewManagerName);
},
});
}
});
}
解决方案
这是目前的一个已知问题react-native-maps
。最初于 2018 年 12 月创建了一个问题。
这实际上是依赖项如何实现的问题。因此,除了分叉回购并自己解决潜在问题之外,您实际上无能为力。
截至 2019 年 3 月 11 日,该问题现已修复,不再是问题。该修复程序已包含在下一个版本中。因此,一旦下一个版本发布,react-native-maps
您应该不再遇到警告。
https://github.com/react-native-community/react-native-maps/issues/2620#issuecomment-471650689
固定在master上,应该包含在下一个版本中
如果您不能等待问题得到解决并且想要隐藏YellowBox警告,您可以使用以下方法来完成
import {YellowBox} from 'react-native';
然后在您的渲染方法中,我通常在 中执行此操作,App.js
因此很容易跟踪我隐藏了哪些。
render() {
YellowBox.ignoreWarnings(['Warning: ...']); // <- insert the warning text here you wish to hide.
return (
//cool ui stuff
);
}
它不会从您的控制台中删除警告,但会删除与错误相关的任何 YellowBox 警告。
推荐阅读
- android - Altbeacon:从通知 AddAction 禁用前台模式和终止应用程序
- url - 带有“全局”URL 的邮递员请求
- python - 使用 Python3 将 .htm 转换为 .txt
- python - 如何使用值列表查询数据库?
- reporting-services - 通过测试来自其他列值的值条件来填充 SSRS 报告中的单元格
- android - androidTest 中 URL.readText 的 FileNotFoundException
- sql - 具有一个标识列的 SQL Server 组合键
- javascript - 每次不同匹配的名称生成器
- tsql - 在备份\还原期间解析备份\还原路径和文件名
- git - 如何使用另一个提交开发我的代码,但不将其合并到我的补丁中