小编Jeg*_*ggy的帖子

蚂蚁设计怎么了?从 GitHub 上删除

Ant Design 项目被删除了吗?它们是 React 最大的开源前端框架之一。

reactjs antd

49
推荐指数
2
解决办法
5878
查看次数

如何制作一个具有泛型类型的函数式 React 组件?

我正在尝试制作一个 React 组件,它接受一个通用类型参数,该参数将成为其 prop 类型的一部分。

我想要一个看起来像这样的解决方案:

interface TestProps<T> {
  value: T;
  onChange: (newValue: T) => void;
}

const Test: React.FC<TestProps<T>> = (props) => (
  <span>{props.value}</span>
);
Run Code Online (Sandbox Code Playgroud)

我已经看到 TypeScript 2.9 中对此有支持,而我使用的是 4.3.5。

它的用法如下:

const Usage: React.FC = () => (
  <div>
    <Test<Obj>
      value={{ name: 'test' }}
      onChange={(newValue) => {
        console.log(newValue.name);
      }}
    />
  </div>
);
Run Code Online (Sandbox Code Playgroud)

代码沙箱:https://codesandbox.io/s/react-typescript-playground-forked-8hu13?file=/src/ index.tsx

typescript reactjs tsx typescript-generics

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

为 graphql-codegen 生成子类型

我正在使用库中的打字稿操作graphql-codegen。但我来自 Apollo 已弃用的代码生成器,并且很喜欢它们导出类型的方式。

对于这样的查询

query MyData {
  viewer {
    id
    username
  }
}
Run Code Online (Sandbox Code Playgroud)

我将从 apollo-tooling codegen 中得到这个:

query MyData {
  viewer {
    id
    username
  }
}
Run Code Online (Sandbox Code Playgroud)

但在 graphql-codegen 中我得到了这个:

export type MyDataQuery_viewer = {
  __typename: 'Viewer';
  id: number;
  username: string;
}
export type MyDataQuery = {
  __typename: 'Query',
  viewer?: MyDataQuery_viewer;
}
Run Code Online (Sandbox Code Playgroud)

是否存在任何配置graphql-codegen可以为我提供所有嵌套对象的类型,而不是在单个类型中定义所有内容?

typescript graphql graphql-codegen

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

Swift与闭包和一流函数之间的任何区别?

在Swift文档中,Apple说:

闭包是自包含的功能块,可以在代码中传递和使用.Swift中的闭包类似于C和Objective-C中的块以及其他编程语言中的lambdas.

我认为是第一类功能的定义

他们也这样说:

闭包可以从定义它们的上下文中捕获和存储对任何常量和变量的引用.这被称为关闭那些常量和变量.Swift为您处理捕获的所有内存管理.

我认为这是封闭的定义,而另一种缺陷是一流的功能,但Apple似乎把它们放在一起并称之为封闭.

我误解了什么吗?或者是Apple调用闭包和一流的函数闭包?

我已经编写了这个示例代码,并且想知道我是否在撰写评论中是对的?

// 'a' takes a first class function, which makes 'a' a higher order function
func a(ch: () -> Void){
    print("Something")
    ch()                // 'ch' is a first class function
    print("Ended")
}

func closureFunc(){
    var num = 2
    a({
        // access to 'num' is possible by closures
        num = num*2
        print(num)
    })
}

closureFunc()
Run Code Online (Sandbox Code Playgroud)

closures first-class-functions swift

9
推荐指数
2
解决办法
1074
查看次数

如何在不打开 Android Studio 的情况下打开 AVD Manager GUI?

由于我没有使用 Android Studio 开发我的应用程序,但我仍在使用 Android 模拟器。

对我来说,在不这样做的情况下启动模拟器的好方法是什么?

  1. 打开安卓工作室
  2. 打开一些项目
  3. 单击 AVD 管理器按钮

我不是在寻找完整的 CI 替代品,但是如果有很长的命令,我可以运行以打开 GUI,我很高兴。

android android-emulator android-studio avd-manager

5
推荐指数
2
解决办法
5195
查看次数

在前台时不显示通知

我正在使用Firebase管理SDK从我的节点服务器发送推送通知.但是在iOS上我只想在应用程序处于后台/终止时显示通知,而不是在前台时显示.目前它将始终显示通知.

这是我的有效载荷:

const payload = {
  data: {
    data: 'data',
    more: 'moreData',
  },
  notification: {
    title: 'Incoming Call',
    body: 'Someone is calling you',
    text: 'This is some text',
    sound: 'default',
    click_action: 'com.example.INCOMING_CALL',
  }
};
const options = {
  priority: 'high',
  time_to_live: 30,
  collapse_key: 'Video Call',
  content_available: true,
};

admin.messaging().sendToDevice(tokensList, payload, options);
Run Code Online (Sandbox Code Playgroud)

它是我的有效载荷的东西还是我必须在AppDelegate.swift中做的事情?

push-notification ios firebase swift firebase-admin

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