gpt4 book ai didi

reactjs - 如何轻松获取 ts 类型的 react-native element prop?

转载 作者:搜寻专家 更新时间:2023-10-30 21:26:29 26 4
gpt4 key购买 nike

我发现自己最近经常跟风

// MyButton.tsx
import { TouchableWithoutFeedback } from "react-native"

interface Props {
onPress: () => void
}

//...

<TouchableWithoutFeedback onPress={this.props.onPress} />

本质上,我正在围绕 React 原生组件制作自己的“包装器”组件,这些包装器组件通常采用与它们包装的 React 原生组件类似的 Prop 。我必须总是重新输入这些 Prop 。

我不想扩展原生组件的所有属性,而是公开一些非常具体的属性。做这样的事情会很棒

interface Props = {
onPress: TouchableWithoutFeedback.onPress
}

不幸的是,这不起作用,但像这样的东西对 Prop 安全有很大帮助,因为我没有定义我自己的类型。

这是否可以通过某种方式实现?

最佳答案

您需要使用类型定义,而不是类本身。假设你已经安装了 @types/react-native:

import { TouchableWithoutFeedbackProps } from 'react-native'

interface Props {
onPress: TouchableWithoutFeedbackProps["onPress"] // <-- must be bracket notation
}

我认为他们所有的组件 prop 定义都遵循相同的命名模式,所以 View 将是 ViewPropsText 将是 TextProps

括号表示法是因为点表示法只对ts中的命名空间有效

关于reactjs - 如何轻松获取 ts 类型的 react-native element prop?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54447750/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com