React Native 原生 iOS 组件为空白

React Native native iOS component is blank

我创建了一个新项目并遵循了本机 iOS UI 组件 (https://facebook.github.io/react-native/docs/native-components-ios.html) 的教程。但是,当我编译 运行 我的代码时,它只是一个空白屏幕。我没有看到任何错误。

我知道正在调用我的原生 view 方法,但我不确定为什么 MKMapView 没有被渲染。

index.ios.js:

/**
 * Sample React Native App
 * https://github.com/facebook/react-native
 * @flow
 */

import React, { Component } from 'react';
import {
  AppRegistry,
  StyleSheet,
  Text,
  View
} from 'react-native';
const MapView = require('./MapView.ios');

export default class NativeTest extends Component {
  render() {
    return (
      <View style={styles.container}>
        <MapView />
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    // backgroundColor: 'blue',
  },
});

AppRegistry.registerComponent('NativeTest', () => NativeTest);

MapView.ios.js:

// @flow

import { requireNativeComponent } from 'react-native';
module.exports = requireNativeComponent('RCTMapView');

RCTMapViewManager.m:

// RCTMapViewManager.m
#import <MapKit/MapKit.h>

#import "RCTViewManager.h"

@interface RCTMapViewManager : RCTViewManager
@end

@implementation RCTMapViewManager

RCT_EXPORT_MODULE()

- (UIView *)view
{
  return [[MKMapView alloc] init];
}

@end

如何让返回的 UIView 在我的 React Native 应用程序中呈现?

我通过从容器中删除 alignItemsjustifyContent 样式并向 MapView 添加 flex: 1 样式来修复它。