如何在React Native中使用typescript

时间:2019-06-20 13:04:15

标签: typescript react-native

我需要在我的应用程序中使用一个切换开关(库git:dooboolab / react-native-switch-toggle)。我在react-native中使用Typescript。设置onPress poseResponderEvent的函数时出现错误。它说:void类型不能分配给boolean类型。

import React, {Component} from 'react';
import SwitchToggle form 'react-native-switch-toggle';
import {View} from 'react-native';

export default class Login extends Component{

  state = {
    switchOn : false
  }

  render(){
    return (
      <View>
        <SwitchToggle 
            switchOn={this.state.switchOn}
            onPress = {this.onPress1}  //HERE THE ERROR
        />
      </View>
    )
  }

  onPress1 = () =>{
     this.setState({switchOn:!this.state.switchOn});
  }
}

我该如何解决?

2 个答案:

答案 0 :(得分:0)

onPress无法反应该功能。 像这样

从onPress调用函数
  

onPress = {()=> this.onPress1()}

答案 1 :(得分:0)

您需要输入onPress1属性具有相同签名的onPress方法。 SwitchToggle的{​​{1}}具有以下签名:

onPress

因此,为了使您将onPress: (event: GestureResponderEvent) => {}; 传递给this.onPress1道具,您需要以这种方式编写onPress

onPress1

然后在您的JSX中:

onPress1 = (event: GestureResponderEvent) => {
   // do stuff
};