0
私は最初のプロジェクトとしてReact Nativeの簡単な電卓を構築しています。私はすべてが機能している。しかし、最後に数値なしの等号ボタンを押すと、「予期しないスクリプト終了」というエラーが発生しました。そこで、評価の前に最後の入力を確認する検証関数を追加しました。しかし、私はまだエラーメッセージが表示されます。ボタンプレスでスクリプトが予期せず終了する
最後の文字が数字でないときにログを試しても、それでもエラーが表示されます。私はそれが何であるか把握できません。何かご意見は? Googleの検索とStackOverflowのロットが私のために空になりました。コードとエラーは以下のとおりです。
ボタンのマイコード。
import React, { Component } from 'react';
import { Text, TouchableOpacity } from 'react-native';
import { connect } from 'react-redux';
import * as actions from '../actions';
class Button extends Component {
// Validate last character is number before evaluating expression
validateInput(data) {
let rawData = this.props.rawData;
let lastChar = rawData.substr(rawData.length - 1);
lastChar !== isNaN ? this.props.newResult(eval(rawData)) : console.log(lastChar);
}
handleLongPress(data) {
data === 'DEL' ? this.props.clearAll() : console.log('Not delete');
}
handleOnPress(data) {
switch (data) {
case '=':
this.validateInput(data);
break;
case 'DEL':
this.props.removeInput();
break;
default:
this.props.addInput(data);
}
}
render() {
let { value, parentStyles, childStyles, text, onLongPress } = this.props
return (
<TouchableOpacity
onPress={() => this.handleOnPress(value)}
onLongPress={() => this.handleLongPress(value)}
style={parentStyles}>
<Text
style={childStyles}
>{text}
</Text>
</TouchableOpacity>
);
}
}
const mapStateToProps = ({ rawData }) => ({
rawData,
})
export default connect(mapStateToProps, actions)(Button);
エラーメッセージ:
Unexpected end of script
validateInput
hashAssetFiles:100008:53
handleOnPress
hashAssetFiles:100020:29
onPress
hashAssetFiles:100045:40
touchableHandlePress
hashAssetFiles:40117:45
_performSideEffectsForTransition
hashAssetFiles:39731:34
_receiveSignal
hashAssetFiles:39668:44
touchableHandleResponderRelease
hashAssetFiles:39557:24
invokeGuardedCallback
hashAssetFiles:35129:19
invokeGuardedCallbackAndCatchFirstError
hashAssetFiles:35151:64
executeDispatch
hashAssetFiles:35180:128
executeDispatchesInOrder
hashAssetFiles:35188:48
executeDispatchesAndRelease
hashAssetFiles:35254:58
forEachAccumulated
hashAssetFiles:35248:37
processEventQueue
hashAssetFiles:35323:143
runEventQueueInBatch
hashAssetFiles:35612:79
handleTopLevel
hashAssetFiles:35617:29
<unknown>
hashAssetFiles:35749:51
perform
hashAssetFiles:36164:99
batchedUpdatesWithControlledComponents
hashAssetFiles:35697:30
_receiveRootNodeIDEvent
hashAssetFiles:35748:46
receiveTouches
hashAssetFiles:35763:173
__callFunction
hashAssetFiles:6616:47
<unknown>
hashAssetFiles:6432:29
__guard
hashAssetFiles:6587:11
callFunctionReturnFlushedQueue
hashAssetFiles:6431:20