【发布时间】:2017-08-14 04:37:48
【问题描述】:
我正在尝试为 React Native 组件“react-native-tabs”创建 Typescript 定义,但在 Text 元素上出现以下错误:
“IntrinsicAttributes & IntrinsicClassAttributes”类型上不存在属性“名称”
有谁知道如何修改我的 ts 定义,以便我可以告诉编译器“name”是 Tabs 的子项时 Text 的字符串属性?
我的 JSX 看起来像:
<Tabs selected={this.state.page} style={{backgroundColor:'white'}}
selectedStyle={{color:'red'}} onSelect={el=>this.setState({page:el.props.name})}>
<Text name="first">First</Text>
<Text name="second" selectedIconStyle={{borderTopWidth:2,borderTopColor:'red'}}>Second</Text>
<Text name="third">Third</Text>
<Text name="fourth" selectedStyle={{color:'green'}}>Fourth</Text>
<Text name="fifth">Fifth</Text>
</Tabs>
我的 Typescript 定义如下:
declare module "react-native-tabs" {
import React, { Component } from "react";
interface TabProps {
style?: React.ViewStyle;
selectedStyle?: {};
onSelect?: (el:any) => void;
selected?: string
}
export default class Tabs extends Component<TabProps, any> {
constructor(props: TabProps);
}
}
谢谢:-)
【问题讨论】:
-
react-native的输入是从哪里得到的? -
嗨@caesay 我使用的是Typescript 2.2.1,我使用以下命令从[@]Types 安装了react-native 定义:npm install --save [@]types/react-native (注意 [@] 周围的括号是我可以在 stackoverflow 上发表评论)
标签: reactjs typescript react-native typescript-typings