小编Lou*_*let的帖子

如何使打字稿类型中的一个属性成为非可选属性?

我有这种类型:

type User = { 
  id: string;
  name?: string;
  email?: string;
}
Run Code Online (Sandbox Code Playgroud)

我想构造一个类似的name非可选类型:

type UserWithName = {
  id: string;
  name: string;
  email?: string;
}
Run Code Online (Sandbox Code Playgroud)

我如何使用通用实用程序类型进行构造,而UserWithName不是像上面那样重复类型?必需的几乎可以完成这项工作,但它将所有属性设置为非可选,而我只想设置一个属性。User

typescript

67
推荐指数
6
解决办法
6万
查看次数

如何使用 Material-ui 为输入元素提供类似 Typography 的样式?

我希望我的 Typography 字段变得可编辑,因此我将其转换为输入。
现在我希望这个输入具有相同的样式。
怎么做?
我尝试将生成的 css 复制到输入中,但这很乏味并且看起来并不完美。

这是一个代码沙箱来说明:https://codesandbox.io/s/flamboyant-stonebraker-le1eq?file=/index.js

reactjs material-ui

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

为什么要在 Github Actions 中分离作业而不是添加步骤?

在此 Github Actions 部署脚本示例中,作者将构建和部署分为不同的作业。
鉴于:

  • 这些作业按顺序运行(需要:构建)
  • 并在同一个运行器上(运行:ubuntu-latest)

分成两个作业而不是简单地在部署作业中插入构建步骤有什么好处?

这是示例:

name: Build and Deploy
on:
  push:
    branches:
      - master

jobs:
  build:
    name: Build
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Repo
        uses: actions/checkout@master
      - name: Install Dependencies
        run: npm install
      - name: Build
        run: npm run build-prod
      - name: Archive Production Artifact
        uses: actions/upload-artifact@master
        with:
          name: dist
          path: dist
  deploy:
    name: Deploy
    needs: build
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Repo
        uses: actions/checkout@master
      - name: Download Artifact
        uses: actions/download-artifact@master …
Run Code Online (Sandbox Code Playgroud)

firebase github-actions

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

如何防止react-quill在重新加载内容时在列表前插入新行?

使用react-quill,我在文本中编写一个列表,将内容存储到外部存储中,将内容重新加载到quill中:在列表之前插入一个新的<br>,并且每次重新加载时都会发生。
知道发生了什么以及如何预防吗?

我准备了一个最小的沙箱来显示问题:https://codesandbox.io/s/reverent-cookies-m5h3x
重现步骤:

  • 写一行,然后是项目符号列表
  • 单击保存将内容存储到外部存储
  • 单击清除以从编辑器中删除所有内容
  • 单击加载将内容从外部存储放入编辑器
  • 繁荣!每个保存-清除-加载周期都会插入一个新的 <br>

reactjs react-quill

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

使用 @svgr/webpack 加载 SVG 时如何保留 ids?

我正在使用@svgr/webpack将 SVG 文件加载到 React 中,工作正常,但它会删除元素的 id。
为了保留ID,我cleanIDs在SVGO配置文件中看到了这个选项,我将其设置为false,但没有效果。
我怎样才能保留我的身份证?

以下是我在 webpack 中配置加载器的方法:

{
  test: /\.svg$/,
  use: [
    {
      loader: "@svgr/webpack",
      options: {
        cleanIDs: false,
      },
    },
  ],
},
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

  • 完全禁用 SVGO,但无法加载 SVG 文件
  • 使用 cleanupIDs 选项,但 id 仍被删除

svg reactjs webpack svgo

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

如何禁用 Firebase 存储模拟器?

当我启动模拟器时,存储模拟器将启动并可在localhost:9199上使用。
然后我使用 node.js 中的管理 SDK 访问存储:

serviceAccountKey = require('./serviceAccountKey.json');
const config = {
  credential: admin.credential.cert(serviceAccountKey),
};
const adminApp = admin.initializeApp(config);
const storage = adminApp.storage();
Run Code Online (Sandbox Code Playgroud)

现在存储指向模拟器,而不是像该模拟器实现之前那样指向真正的服务。
如何才能获得真正的服务?
我已尝试按照此处所述设置projectId和 env 变量,但它不起作用。

firebase firebase-storage firebase-cli

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

如何在 Stripe 客户门户中设置产品

我有一个在两个网站上销售订阅的公司的 Stripe 帐户:

  • 网站 A:订阅计划 A1、A2、A3(这些是Stripe 术语中的产品)
  • 在网站 B 上:订阅计划 B1、B2(也是产品)

我想使用客户门户网站来允许两个网站的客户管理他们的计划。我只想显示为每个网站创建的门户网站上各自的计划。
是否可以?我怎样才能实现这个目标?

我发现我们可以在创建门户会话时提供在运行时构建的配置,但我不知道如何指定产品集。

stripe-payments stripe-customer-portal

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

Firestore 查询:如何过滤文档 ID?

在 Firestore 中,我有一个包含由时间戳标识的文档的集合:/records/timestamp
我想使用 javascript 客户端 API 根据 id 过滤文档。
我该如何编写查询?
我正在寻找以下内容,但找不到id的正确字段名称:

const query = firestore.collection(`/records`).where("id", "<", 1600766222);
Run Code Online (Sandbox Code Playgroud)

firebase

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