我希望在枚举中重用某些值。有关如何实现此类功能的任何建议。
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) 所以我正在阅读有关打字稿的文档,但无法理解这个概念。
所以文档说明:-
在分配条件类型的实例中,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。
任何人都可以向我解释这一点。一个相同的例子将受到高度赞赏,文档中的那个对我来说不是很清楚。
我想知道是否有办法在打字稿中获取扩展类的类型。
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)
提前致谢。
我们如何向 exceljs 中的整列添加数据验证?或者有没有其他库支持这样的功能?
所以我正在做一个本机反应项目。我希望有人能从实现中推断出泛型类型。
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) 所以我想知道是否有一个全面的示例或库可以用于在网络和本机端进行导航。
也许有一个工作示例可以尝试使用模态、抽屉和所有这些奇特的东西。
在网络上使用 React-navigation 3.0 感觉如何?是否完全兼容?网上是否有可以使用并从中汲取灵感的示例?React-navigation 文档上的示例非常人为且不太清楚,是否有人从事过此类项目。
谢谢。
以下是我遇到的一些来源。
https://blog.bitsrc.io/how-to-react-native-web-app-a-happy-struggle-aea7906f4903
使用上述案例中提供的 HOC 怎么样?
看起来是一个巧妙的解决方案。
所以我有一个反应本机应用程序,并且想在应用程序启动时运行一些代码;
该应用程序具有后台任务处理程序(android),(据我所知)它不会安装任何视图,因此在根构造函数或 componentDidMount 中初始化内容可能不起作用。
我想向我的应用程序添加某些数据库侦听器,即使应用程序在后台运行,这些侦听器也会被触发。
任何有关同一问题的帮助将不胜感激。感谢和问候。阿莫尔。
所以我有一个 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) 因此,我只是在玩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妇叫
构造函数称为。
这是设计使然吗?我不确定发生了什么。
似乎真的很有趣,请有人解释为什么会这样。
谢谢。
在联合类型的情况下,我无法完全掌握 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 ×5
react-native ×3
javascript ×2
exceljs ×1
iife ×1
modal-dialog ×1
react-hooks ×1
reactjs ×1