reactjs – undefined不是对象(评估’this.props.navigator.push’)

无法使这项工作,交叉检查所有的参考,但它没有帮助.这是视图的所有代码.

我不确定我缺少什么,需要所有依赖项.

var React = require('react-native');
var Delivery = require('./Delivery');

var {
    View,Text,StyleSheet,TouchableHighlight,} = React;


class ListItem extends React.Component{

    showDetails(){
        this.props.navigator.push({
            title: "Delivery details",component: Delivery
        });
    }

    render(){
        return(
            <TouchableHighlight onPress={this.showDetails.bind(this)} >
                <View style={styles.listItem}>
                    <View style={styles.listContents}>
                        <Text style={styles.listHead}>JMD Megapolis</Text>
                        <Text style={styles.listAddress}>1109,Sector 48,Sohna Road,Gurgaon 122018</Text>
                        <Text style={styles.listMeta}>2Kms from store</Text>
                    </View>
                    <View style={styles.listCost}>
                        <Text style={styles.cost}>₹40</Text>
                    </View>
                </View>
            </TouchableHighlight>
        )
    }
}

module.exports = ListItem;
如果您像这样调用ListView组件,它应该可以工作. NavigatorIOS已经将参考传递下来(但只有一个级别/代).
<NavigatorIOS
    initialRoute={{
        title: 'List View Component',component: ListView,}} />

但是,如果您从NavigatorIOS引用的组件的子组件中调用ListView组件,请尝试此操作.从NavigatorIOS引用的组件中,您可以在其中调用< ListView />添加导航器属性.

<ListView navigator={this.props.navigator} />

您需要记住在子组件中传递要访问的属性,以便更改< NavigatorIOS />中显示的组件.从NavigatorIOS未直接引用的组件中,您需要像上面一样向下传递导航器属性.

希望这可以帮助.

相关文章

一、前言 在组件方面react和Vue一样的,核心思想玩的就是组件...
前言: 前段时间学习完react后,刚好就接到公司一个react项目...
前言: 最近收到组长通知我们项目组后面新开的项目准备统一技...
react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...