Object.keys Element implicitly has an 'any' type because expression of type 'string' can't be used to index type ts(7053)

Object.keys Element implicitly has an 'any' type because expression of type 'string' can't be used to index type ts(7053)

Element implicitly has an 'any' type because expression of type 'string' can't be used to index type '{ cityid: string; sellerid: number; shopid: string; lat: number; lng: number; categoryid: string; pickself: string; page: number; }'.
No index signature with a parameter of type 'string' was found on type '{ cityid: string; sellerid: number; shopid: string; lat: number; lng: number; categoryid: string; pickself: string; page: number; }'.ts(7053)

2020-11-02@16:31:12qi-ye-wei-xin-20201102043114

解决方案

interface Params {
    cityid: string,
    sellerid: number,
    shopid: string,
    lat: number,
    lng: number,
    categoryid: string,
    pickself: string,
    page: number
}

type K = keyof typeof params;

Object.keys(params).forEach((key) => {
    if (params[key as K] === undefined) {
        delete params[key as K]
    }
})

2020-11-02@17:12:59qi-ye-wei-xin-20201102051301

Read more

Flutter入门指南

Flutter入门指南

Flutter 是一个由 Google 开发的开源移动应用开发框架。它允许开发者使用一套代码同时构建 iOS 和 Android 应用,并且提供了丰富的 UI 组件和高效的开发工具,使得开发者能够快速构建出高性能的跨平台应用。 一、Flutter 的实现原理 Flutter 的核心在于其自带的高性能渲染引擎 Skia。不同于其他框架依赖于原生的 UI 组件,Flutter 直接通过 Skia 渲染引擎将所有组件绘制到屏幕上。这种方式保证了跨平台应用在 iOS 和 Android 上的表现完全一致。 1.1 结构概览 Flutter 的架构分为三层: 1. Framework(框架层): 这部分主要由 Dart 编写,提供了 Flutter 的各种 UI 组件(Widget)、手势检测、渲染层以及动画等。

By Lewis
Certbot Let's Encrypt 证书自动续期

Certbot Let's Encrypt 证书自动续期

安装 Certbot yum install epel-release -y yum install certbot -y certbot certonly //生成证书 certbot renew //续期 certbot certificates //查看证书 域名验证插件 https://github.com/ywdblog/certbot-letencrypt-wildcardcertificates-alydns-au 下载 $ git clone https://github.com/ywdblog/certbot-letencrypt-wildcardcertificates-alydns-au $ cd certbot-letencrypt-wildcardcertificates-alydns-au $ chmod 0777 au.sh 配置 DNS API 密钥: 这个 API 密钥什么意思呢?由于需要通过 API 操作阿里云 DNS,

By Lewis