我试图在本机中运行jest测试用例,但总是失败.终端打印此错误" Jest遇到意外令牌 ".我真的很开心,我已经尝试了几个小时来解决这个问题,但找不到办法.请帮我解决这个问题.
这是我的代码: -
import 'react-native';
import React from 'react';
import LoginScreen from '../pages/LoginScreen'
import renderer from 'react-test-renderer';
// snapshot testing
// update snapsshot to use npm test -- -u
// test('MainScreen snapShot', ()=>{
// const snap = renderer.create(
// <MainScreen />
// ).toJSON();
// expect(snap).toMatchSnapshot();
// });
it('fucntion test', () =>{
let MainData = renderer.create(<LoginScreen />).getInstance();
MainData.change(2)
expect(MainData.change(2)).toEqual(20)
})
Run Code Online (Sandbox Code Playgroud)
Package.json:
{
"name": "App_name",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
"dependencies": { …Run Code Online (Sandbox Code Playgroud) 我曾经在Wix中为我的应用程序导航做出反应原生导航.但它不能正常工作.通过我的应用程序验证用户成功导航到主屏幕,但问题是当我按下Android后退按钮时,它将再次导航到登录屏幕.我需要避免这种情况.我该怎么做?最后试图完全退出应用程序.但它也不能正常工作.我尝试了一些解决方案,但这些解决方案对我没用.在这里,我附上了一些我尝试过的解决方案.
试试01:
componentWillUnmount() {
if (Platform.OS === 'android') return
BackHandler.removeEventListener('hardwareBackPress')
}
componentWillMount() {
Alert.alert(
"Warning!",
"one")
if (Platform.OS === 'android' && this.props.login)
BackHandler.addEventListener('hardwareBackPress', () => {
Alert.alert(
"Warning!",
"two")
return true
})
}
Run Code Online (Sandbox Code Playgroud)
尝试01:此功能正常工作,但这不能解决问题.
试试02:
constructor(props) {
super(props);
this.props.navigator.setOnNavigatorEvent(this.onNavigatorEvent.bind(this));
}
onNavigatorEvent(event) {
switch (event.id) {
case "willAppear":
this.backHandler = BackHandler.addEventListener(
"hardwareBackPress",
this.handleBackPress,
Alert.alert(
event.id,
"willAppear")
);
break;
case "willDisappear":
this.backPressed = 0;
Alert.alert(
"Warning!",
"willDisappear")
this.backHandler.remove();
break;
default:
break;
}
}
handleBackPress …Run Code Online (Sandbox Code Playgroud) react-native react-native-navigation wix-react-native-navigation
我正在开发一个反应本机应用程序,
在这个应用程序中,我有一个捕获视图的图像,如果用户捕获图像,它将存储在状态挂钩中,如果存储了某些内容,它将显示在 Flatlist 中。
如果我们认为用户需要从列表中删除某个项目,那么我提供了一个删除按钮。当用户单击它时,应该从状态中删除该项目并更新 Flatlist。
我的问题是:从状态中删除项目后,我的视图不会重新渲染。我可以保证数据已成功从状态中删除,但我的 Flatlist 没有更新。
我的代码如下,请大家帮我解答一下。提前致谢。
下面的代码用于从状态中删除该项目。
const [selectedFiles, setSelectedFiles] = useState([]);
const removeItemFromArray = (index: number) => {
let imagesArray = selectedFiles;
imagesArray.splice(index, 1);
setSelectedFiles(imagesArray);
}
Run Code Online (Sandbox Code Playgroud)
平面列表
<FlatList
showsHorizontalScrollIndicator={false}
data={selectedFiles}
renderItem={({ item, index }) => {
return (
<ImagePreviewSlider
itemData={item}
viewImage={() => viewImage(index)}
deleteItem={() => removeItemFromArray(index)}
/>
);
}}
/>
Run Code Online (Sandbox Code Playgroud)
----------完整代码--------------
照片上传.tsx
import React, { useState } from "react";
import {
View,
Text,
StyleSheet,
ScrollView,
Image,
ImageBackground,
TouchableOpacity,
Modal,
FlatList
} from "react-native";
import ImagePicker …Run Code Online (Sandbox Code Playgroud) 我有以下代码在每个按钮单击上创建一个文本框:
private void AddNewTimer_Click(object sender, EventArgs e)
{
int timerCount = 0;
int boxY = 0;
if (timerCount <= 6)
{
timerCount++;
TextBox txt = new TextBox();
txt.ID = "timer" + timerCount++;
txt.Text = Convert.ToString(timerCount);
txt.Name = Convert.ToString(timerCount);
txt.Width = 63;
txt.Location = new Point(0, boxY);
TimerContainer.Controls.Add(txt);
boxY = boxY + 25;
}
}
Run Code Online (Sandbox Code Playgroud)
txt.ID = timerCount++;给我'TextBox' does not contain a definition for 'ID',虽然在回答说明这个问题,在这个页面.