小编Amo*_*pta的帖子

在打字稿中扩展枚举

我希望在枚举中重用某些值。有关如何实现此类功能的任何建议。

enum someEnum {
    a = 'Some String',
    b = 2,
};

enum extendedEnum {
    c = 'string',
    b = someEnum.b
}

type someEnumType<T extends someEnum> = T extends someEnum.a ? string :
    T extends someEnum.b ? number : never;

type extendedEnumType<T extends extendedEnum> =
    T extends extendedEnum.c ? string:          // Gives Error
    T extends extendedEnum.b ? number : never;  // Gives Error
Run Code Online (Sandbox Code Playgroud)

typescript typescript-typings

29
推荐指数
4
解决办法
3万
查看次数

打字稿分配条件类型

所以我正在阅读有关打字稿的文档,但无法理解这个概念。

所以文档说明:-

在分配条件类型的实例中,T 扩展了 U ? X : Y,在条件类型中对 T 的引用被解析为联合类型的单个成分(即 T 指的是在条件类型分布在联合类型上之后的单个成分)。此外,在 X 中对 T 的引用有一个额外的类型参数约束 U(即 T 被认为可分配给 X 中的 U)。

我无法理解这部分T refers to the individual constituents after the conditional type is distributed over the union type

任何人都可以向我解释这一点。一个相同的例子将受到高度赞赏,文档中的那个对我来说不是很清楚。

typescript

13
推荐指数
2
解决办法
1819
查看次数

TypeScript:获取超类的类型?

我想知道是否有办法在打字稿中获取扩展类的类型。

class BaseClass {
    baseProp: string;
}

class SubClass extends BaseClass {
    subProp: string;
}

type someType<T> = T extends infer U ? U : T;

type superType = someType<SubClass>; // want this to be BaseClass
Run Code Online (Sandbox Code Playgroud)

提前致谢。

typescript typescript-typings

6
推荐指数
0
解决办法
742
查看次数

向 exceljs 中的整列添加数据验证

我们如何向 exceljs 中的整列添加数据验证?或者有没有其他库支持这样的功能?

javascript exceljs

6
推荐指数
1
解决办法
5214
查看次数

Typescript从实现中推断通用类型

所以我正在做一个本机反应项目。我希望有人能从实现中推断出泛型类型。

type itemType<T> = { item: T };

const someItem = {
    item: 'Some String'
};

type someItemType = typeof someItem;
// So Here someItemType will be {item: string}, i want it to be itemType<string> and 
// in this example i have implemented itemType but in real use case i want to infer 
//it from the actual implementation  
Run Code Online (Sandbox Code Playgroud)

typescript typescript-typings

5
推荐指数
1
解决办法
68
查看次数

网络导航 React-navigation

所以我想知道是否有一个全面的示例或库可以用于在网络和本机端进行导航。

也许有一个工作示例可以尝试使用模态、抽屉和所有这些奇特的东西。

在网络上使用 React-navigation 3.0 感觉如何?是否完全兼容?网上是否有可以使用并从中汲取灵感的示例?React-navigation 文档上的示例非常人为且不太清楚,是否有人从事过此类项目。

谢谢。

以下是我遇到的一些来源。

https://blog.bitsrc.io/how-to-react-native-web-app-a-happy-struggle-aea7906f4903

使用上述案例中提供的 HOC 怎么样?

看起来是一个巧妙的解决方案。

https://pickering.org/using-react-native-react-native-web-and-react-navigation-in-a-single-project-cfd4bcca16d0

https://reactnavigation.org/blog/#ecosystem-and-web-support

https://reactnavigation.org/docs/en/web-support.html

modal-dialog react-native react-navigation react-native-web

5
推荐指数
1
解决办法
1253
查看次数

如何在 React-Native 中的应用程序启动时运行代码

所以我有一个反应本机应用程序,并且想在应用程序启动时运行一些代码;

该应用程序具有后台任务处理程序(android),(据我所知)它不会安装任何视图,因此在根构造函数或 componentDidMount 中初始化内容可能不起作用。

我想向我的应用程序添加某些数据库侦听器,即使应用程序在后台运行,这些侦听器也会被触发。

任何有关同一问题的帮助将不胜感激。感谢和问候。阿莫尔。

react-native

4
推荐指数
1
解决办法
4606
查看次数

平面列表渲染项的 React-Native 无效钩子调用

所以我有一个 react-native flat 列表,我在每个列表中使用钩子FlatList renderItem,像这样,

export const RenderEntityList = (props) => {
    const { entityList } = props;
    const getEntityName = useCallBack((entity) => {
        //...get Entity name from list
    }, [entityList]);
    return <FlatList
              data={entityList}
              renderItem={RenderEntity({ getEntityName })}
           />
};


const RenderEntity = (props) => {
    const { getEntityName } = props;
    return (props) => {
        const { item: entity } = props;
        // This is where i get the error Invalid hook call;
        const [entityName, setEntityName] = useState(''); …
Run Code Online (Sandbox Code Playgroud)

reactjs react-native react-hooks

4
推荐指数
1
解决办法
799
查看次数

Javascript:在类构造函数之前调用IIfe

因此,我只是在玩javascript,我在类的构造函数之前被调用了一个带有类的类。

class SomeClass {
  constructor() {
    console.log('Constructor Called.');
  };

  someIife = (() => {
    console.log('iife called');
    return () => { }
  })()
};

const someClass = new SomeClass();
Run Code Online (Sandbox Code Playgroud)

输出是-

ife妇叫

构造函数称为。

这是设计使然吗?我不确定发生了什么。

似乎真的很有趣,请有人解释为什么会这样。

谢谢。

javascript iife

3
推荐指数
1
解决办法
36
查看次数

在打字稿中“扩展”实际上意味着什么?

在联合类型的情况下,我无法完全掌握 extends 关键字的使用。这是一个代码片段,解释了我的困惑。

class SomeClass {
    someClassProp: string;
};

class SomeExtendedClass extends SomeClass {
    someExtendedClassProp: string;
};

function someClassFunction<T extends SomeClass>(args: T): T {
    return args;
};

let someClass: SomeClass, someExtendedClass: SomeExtendedClass;

someClassFunction(someClass);
someClassFunction(someExtendedClass); // Works just fine(case 1)

type someType = 'a' | 'b';
type someExtendedType = someType | 'c';

function someTypeFunction<T extends someType>(args: T): T {
    return args;
};

let someType: someType, someExtendedType: someExtendedType;

someTypeFunction(someType);
someTypeFunction(someExtendedType); // Gives me an error(case 2)
Run Code Online (Sandbox Code Playgroud)

所以我想知道为什么要做出这样的设计决策以及其含义是什么。

更改 function someTypeFunction<T extends someType>(args: …

typescript typescript-typings

1
推荐指数
1
解决办法
1060
查看次数