IOS 上的 React-native:无法调整当前堆栈顶部超出可用视图

Posted

技术标签:

【中文标题】IOS 上的 React-native:无法调整当前堆栈顶部超出可用视图【英文标题】:React-native on IOS: cannot adjust current top of stack beyond available views 【发布时间】:2015-05-02 20:16:53 【问题描述】:

在写组件的时候,我的ios模拟器突然报了一个很奇怪的错误:“cannot adjust current top of stack beyond available views”

这是我的代码:

var Badge = require('./badge');
var Separator = require('./helpers/seperator');
var View = React.View;
var StyleSheet = React.StyleSheet;
var ScrollView = React.ScrollView;
var Text = React.Text;

var Profile = React.createClass(
    _getRowTitle: function (userInfo, item) 
        item = item.replace('_', ' ');
        return item[0] ? item[0].toUpperCase() + item.slice(1) : item;
    ,

    render: function () 
        var userInfo = this.props.userInfo;
        var topicArr = ['followers', 'following', 'email', 'bio'];
        var list = topicArr.map((item, index) => 
                return (
                    <View key=index>
                        <View>
                            <Text> this._getRowTitle(userInfo, item) </Text>
                            <Text> userInfo[item] </Text>
                        </View>
                        <Seperator />
                    </View>
                );
            
        );

        return (
            <ScrollView style=styles.container>
                <Badge userInfo=this.props.userInfo />
                list
            </ScrollView>
        );
    
);

有谁知道这个错误是从哪里来的?

【问题讨论】:

你解决了吗?我也面临同样的问题... 【参考方案1】:

好的,事实证明,当您拼错组件名称时,会在 React-Native 中发生这种情况。我的导入类Separator 应该拼写为Seperator,而我的 linter 和构建系统没有发现错误。显然,如果您尝试使用在 React-native 中未定义的对象,这就是您得到的错误!

【讨论】:

【参考方案2】:

根据您所做的观察,当您引用或拼写错误的名称时,通常会出现此错误。它不仅限于组件名称。

例如,如果您创建了一个styles 对象来保存您的样式,但不小心将其称为style,那么您也会看到这个错误。

【讨论】:

以上是关于IOS 上的 React-native:无法调整当前堆栈顶部超出可用视图的主要内容,如果未能解决你的问题,请参考以下文章

iOS 上的共享扩展无法打开我的 react-native 应用

react-native IOS 发布方案上的 Travis 错误

iOS 上的自动更正不会在 react-native 中触发 onChangeText

react-native中iOS上的位置权限不起作用

React-native:iOS 应用程序在具有命名空间 SPRINGBOARD 的设备上的启动屏幕中崩溃

React-native 无法打开 ios 模拟器调试菜单