我正在用写TypeScript。专案应该接受比包装组件多一个支柱,所以我写了以下文章:
type HocProps {
// Contains the prop my HOC needs
thingy: number
}
type Component<P> = React.ComponentClass<P> | React.StatelessComponent<P>
interface ComponentDecorator<TChildProps> {
(component: Component<TChildProp
为了提供一些条件呈现逻辑,我试图将现有的react组件(React)封装到一个高阶组件(HoC)中。我面临的困难是让TypeScript生成一个将HoC包装器和包装组件属性结合在一起的组件。
例如:
import React from "react";
import Select from "react-select";
interface HOCProps {
foo: string
}
// Return a type with the HOCProps properties removed.
type WitoutPrefilled<T e
我有两个接口,X和Y。X有两个属性:x1和x2。现在Y希望从X继承,但不希望继承x2。
interface X {
x1 : string;
x2 : string;
}
interface Y extends X{
// x2 shouldn't be available here
}
作为TypeScript的新手,我不能理解它。TypeScript中有没有extends X without x1类型的内置特性?
注意:在我的实际案例中,X是一个内置的interface。因此,我需要在不更改X接口的情况下完成此操作。有可能吗?
问题
我用一个典型的特殊组件包装了一个组件,我在其他非TS项目中使用了一些格式。我的问题是,我不能在包装好的组件中使用特设的支柱currentBreakpoint,因为它希望它在组件的类型中:
Property 'currentBreakpoint' does not exist on type 'Readonly<OwnProps> & Readonly<{ children?: ReactNode; }>'. TS2339
然后导入特设的支持接口,并将其合并到组件自己的支柱接口中,然后我得到:
Property 'c
我试图用TypeScript (2.8)实现React文档(React 16.3)中的示例,但失败了。作为参考,React手册中的代码:
const ThemeContext = React.createContext('light');
// This function takes a component...
export function withTheme(Component) {
// ...and returns another component...
return function ThemedComponent(props) {
// ...
我在使用TypeScript的React中传递登录组件中的道具,该组件被包装在另一个组件"FormHandle“中,该组件本身也传递道具。但在Login组件中抛出以下错误:
[ts] `Property 'loginLabel' does not exist on type 'IntrinsicAttributes & IntrinsicClassAttributes<(Anonymous class)> & Readonly<{ children?: ReactNo...'.`
LoginForm中Props的接口是
所以我有一个组件,这个组件被传递给一个HOC,它应该增强原始组件。 我为组件正在接收的属性声明了一个类型,但是我仍然得到错误"TS2741",它说: Property 'auth' is missing in type '{}' but required in type 'AppProps' 我写了一个小例子,你可以在这里看到:https://stackblitz.com/edit/react-ts-huaq8s 所以我的猜测是,TypeScript会检查withAuth中返回函数的props是否具有通过我们的类型声明的属性。这
在编译过程中,我一直在使用与ES5标准不同的东西,这是因为我刚刚开始使用TS,而且我不知道如何将tsconfig.json直接包含在自己的Gulp任务自动编译中。
error TS1056: Accessors are only available when targeting ECMAScript 5 and higher
是否可以将我的tsconfig.json文件属性直接添加到管道中?
电流gulpfile.js
'use strict';
var gulp = require('gulp');
var ts = require('gulp-
我正在使用disabled属性创建一个链接组件,它有一个将颜色更改为灰色的选项。当我将鼠标悬停在{({ disabled }上时,TypeScript给我一个Property 'disabled' does not exist on type 'Pick<DetailedHTMLProps<AnchorHTMLAttributes<HTMLAnchorElement>错误。 语法看起来是正确的,不确定我在这里遗漏了什么。 const StyledLink = styled.a`
color: blue;
${({ disabled
我有一个函数URLBuilder,它作为一个模块工作(它返回一个包含各种函数的对象,这些函数与上下文对象绑定得很好,所以this绑定按预期工作,我们可以在这些函数中正确地访问this ) 我的问题是为什么typescript不理解URLBuilder的返回对象中函数的this绑定?尽管我尝试手动添加一个返回类型,但Typescript抱怨when using the URLBuilder在没有this上下文的情况下无法接受函数。 我们如何让typescript在返回的对象中理解这个绑定函数的this? 我要解决的Typescript错误是: The 'this' contex
我有一个包装器组件A,它能够向孩子添加道具,如下所示 interface AProps {
fooProp: string
}
const A : FunctionComponent<AProps> = (props)=>{
const [someState, setSomeState] = useState("");//local state i want to pass to children
const {children} = props;
//...some other code setting someState
我有一个特殊函数,它接受一个组件和一个属性键,并返回一个在指定属性键处注入了值的组件。这是我的概念证明: import * as React from 'react'
type WrappedComponentProps<PropertyKey extends string> = {
[k in PropertyKey]: boolean
}
type WithCustomPropertyProps<P, PropertyKey extends string> = Omit<P, PropertyKey> & P
cons
感谢您在这里耐心等待,我刚刚开始使用TypeScript。
我正在开发一个angular 2应用程序,它需要接受文本输入,然后进行一系列计算。I(不正确?)假设我需要首先将输入绑定到数据模型中的“任何”类型变量,然后将这些变量转换为数字,以便处理数字。我找遍了所有地方,找不到怎么做才不会抛出这个TS编译器错误:
`src/calculator_service.ts(40,5): error TS2322: Type 'number' is not assignable to type 'string'.`
在我的CalculatorService中,我有这个函数