导航按钮的“ onPress”正确的返回类型是什么?

时间:2019-11-07 12:17:25

标签: typescript react-native

tsc提醒我在类方法的render方法之后和onPress之后添加返回类型。

我尝试使用React.ReactNode作为渲染返回类型,这使警报消失,但是React.ReactChild也起作用(有什么区别?)

对于onPress事件,我尝试使用void,这使返回类型很高兴,但是我不确定这是否是输入的正确返回类型。

我已经查看了Github上的打字稿备忘单,但找不到明确的确定方式。

export interface Props {
  navigation;
}

class HomeScreen extends React.Component<Props> {
  render(): React.ReactNode { // HERE
    return (
      <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
        <Text>Home Screen</Text>
        <Button title="Go to Details" onPress={(): void =>  this.props.navigation.navigate('Details')} /> // HERE 
      </View>
    );
  }
}

1 个答案:

答案 0 :(得分:0)

请创建函数

_moveToDetails = (): void => this.props.navigation.navigate('Details')}

然后在onPress上使用

onPress={this._moveToDetails}