意外的令牌,预期在 onConfirm 中反应原生

Posted

技术标签:

【中文标题】意外的令牌,预期在 onConfirm 中反应原生【英文标题】:Unexpected token, expected in onConfirm in react native 【发布时间】:2020-04-01 13:33:51 【问题描述】:

我正在尝试在我的 应用

道具

export default class App extends React.Component   
constructor(props) 
    super(props);
    this.state = 
      cdate: '',
     setDate: '',
     isVisible: false,
     setVisible: false
    ;
    

源代码

import React,  Component  from "react";
    import 
      View,
      ScrollView,
      DatePickerios,
      TouchableOpacity,
      Text,
      TextInput,
      Button,
      StyleSheet
     from "react-native";
    import RBSheet from "react-native-raw-bottom-sheet";
    import data from "./static.json";

import DateTimePicker from 'react-native-modal-datetime-picker'; 


export default class App extends React.Component 

const cdate, isVisible, setDate, setVisible = this.state;

  render() 
    return (
      <View style=styles.container>
        <Text style=styles.textTitle>REACT NATIVE RAW BOTTOMSHEET</Text>
        <View style=styles.buttonContainer>

          <TouchableOpacity onPress=() => this.Scrollable.open() style=styles.button>
            <Text style=styles.buttonTitle>SCROLLABLE</Text>
          </TouchableOpacity>     
        </View>

        /* Grid Menu */
        <RBSheet
          ref=ref => 
            this.Scrollable = ref;
          
          closeOnDragDown
          customStyles=
            container: 
              borderTopLeftRadius: 10,
              borderTopRightRadius: 10
            
          
        >
          <ScrollView>
            <View style=styles.gridContainer>
             <DateTimePicker
  mode="time"
  isVisible=isVisible
  cdate=cdate
  onConfirm=cdate => 
    setDate(cdate.toTimeString());
    setVisible(false);
  
  onCancel=() => this.setState( setVisible: false )
/>
            </View>

          </ScrollView>
        </RBSheet>

      </View>
    );
  

const styles = StyleSheet.create(
  container: 
    flex: 1,
    alignItems: "center",
    backgroundColor: "#F5FCFF"
  ,
  textTitle: 
    fontSize: 20,
    marginTop: 120
  ,
  buttonContainer: 
    alignItems: "center",
    marginTop: 50
  ,
  button: 
    width: 150,
    backgroundColor: "#4EB151",
    paddingVertical: 10,
    alignItems: "center",
    borderRadius: 3,
    margin: 10
  ,

);

这是我遇到的错误

它应该是这样工作的

*****更新*****

我收到错误“SyntaxError:\App.js: Unexpected token (21:6)

19 |导出默认类 App 扩展 React.Component 20 |

21 |常量 cdate, isVisible, setDate, setVisible = this.state; | ^ 22 | 23 |渲染() 24 | return ( at App.js:21:6 " 你能帮忙吗

啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

【问题讨论】:

const cdate, isVisible, setDate, setVisible = this.state;这应该在类内 现在工作了吗? @ 我收到错误“SyntaxError:\App.js: Unexpected token (21:6) 19 | export default class App extends React.Component 20 | > 21 | const cdate, isVisible, setDate, setVisible = this.state; | ^ 22 | 23 | render() 24 | return ( at App.js:21:6 " 你能帮忙吗 【参考方案1】:

试试这个:

const  cdate, isVisible, setDate, setVisible  = this.state;

<DateTimePicker
  mode="time"
  isVisible=isVisible
  cdate=cdate
  onConfirm=cdate => 
    setDate(cdate.toTimeString());
    setVisible(false);
  
  onCancel=() => this.setState( setVisible: false )
/>

【讨论】:

我试过了,但我得到了这个错误“未定义不是一个对象(评估'_this$state.cDate')”你能帮忙吗 它的 cdate ... 不是 cDate ... 只是您的 var-name 中的一个错字 @Hend El-Sahli 它给出了同样的错误“未定义不是对象(评估'_this$state.cdate')”,这次是cdate 请发布您的全班 @Venda 你在哪里定义你component state object

以上是关于意外的令牌,预期在 onConfirm 中反应原生的主要内容,如果未能解决你的问题,请参考以下文章

在本机反应中初始化应用程序火力:错误“意外令牌

解析错误:意外的令牌,预期的“,”和语法错误:意外的令牌'['[重复]

解析错误:意外的令牌,预期的“...”

反应意外的令牌 <

尝试在终端中启动反应应用程序时出现意外令牌 (9:13) 错误

反应路由器组件中出现意外的令牌<错误