Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
React native TypeError:无法读取属性';导航';未定义的_React Native_Jestjs_Expo - Fatal编程技术网

React native TypeError:无法读取属性';导航';未定义的

React native TypeError:无法读取属性';导航';未定义的,react-native,jestjs,expo,React Native,Jestjs,Expo,我为一个名为NewUser.js的屏幕编写了一个快照测试,下面是测试代码: import React from "react"; import NewUser from "../app/screens/NewUser/NewUser" import renderer from "react-test-renderer" describe("<NewUser/>", ()=>{ it("snapshot", ()=>{ expect(renderer.crea

我为一个名为NewUser.js的屏幕编写了一个快照测试,下面是测试代码:

import React from "react";
import NewUser from "../app/screens/NewUser/NewUser"
import renderer from "react-test-renderer"

describe("<NewUser/>", ()=>{
  it("snapshot", ()=>{
    expect(renderer.create(<NewUser/>).toJSON()).toMatchSnapshot();
  });
});
从“React”导入React;
从“./app/screens/NewUser/NewUser”导入新用户
从“反应测试渲染器”导入渲染器
描述(“,()=>{
它(“快照”,()=>{
expect(renderer.create().toJSON()).toMatchSnapshot();
});
});
这里是NewUser.js

import React, { Component } from 'react';
import { StyleSheet, Text, View, Button} from 'react-native';

import styles from './Styles'

export default class NewUser extends Component {
   static navigationOptions = () => {
    return {
        headerStyle: styles.headerStyle,
        headerTintColor: '#fff',
        headerTitle: 'JetSet',
        headerTitleStyle: {
            flex: 1,
        }
    };
};

render() {

    const { navigate } = this.props.navigation;

    return (
        <View style={styles.background}>
            <View style={styles.container}>
                <Button
                    onPress={() => navigate('Survey', { survey: 'NewUserQuestions' })}
                    title="New User"
                />
            </View>
        </View>
    );
}
}
import React,{Component}来自'React';
从“react native”导入{样式表、文本、视图、按钮};
从“./styles”导入样式
导出默认类NewUser扩展组件{
静态导航选项=()=>{
返回{
headerStyle:style.headerStyle,
标题颜色:“#fff”,
标题:“JetSet”,
头饰样式:{
弹性:1,
}
};
};
render(){
const{navigate}=this.props.navigation;
返回(
导航('Survey',{Survey:'NewUserQuestions'})}
title=“新用户”
/>
);
}
}

我运行测试时出错了。我应该怎么做才能使测试运行?谢谢。

我这样做不知怎么解决了这个问题

{ navigation } = this.props
...navigation.navigate()

我仍然不确定导致该问题的原因,解决方案也不完美,但它保存了我的代码。

您可以发布所有相关的问题代码。.看一下,在它呈现后,您是否在屏幕上看到标题
JetSet