小编C T*_*que的帖子

打字稿 jwt.verify 无法访问数据

我正在尝试将 JWT 与 nodejs 一起使用。我的问题是我无法从 JWT 验证函数中读取数据。我是这样使用它的:

//encode when logging in
const token = jwt.sign(
    { user: user },
    'secret'
);


// decode when fetching the user from token
const decoded = jwt.verify(req.body.jwtToken, 'secret');
    return res.send({
         user: decoded.user // <-- error here
    });
Run Code Online (Sandbox Code Playgroud)

以下是 verify 方法的类型:

export declare function verify(
   token: string,
   secretOrPublicKey: string | Buffer,
): object | string;
Run Code Online (Sandbox Code Playgroud)

短绒错误是:

Property user does not exists on typeof "object|string".
Run Code Online (Sandbox Code Playgroud)

我应该如何从解码后的令牌中获取数据?

链接到图书馆的文档

node.js jwt typescript

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

typescript使用户输入反应setState

在这个基本的typescript react示例(create-react-app)中,我试图通过用户输入更改state.name.

有人可以向我展示一个工作示例(我没有找到)或更好:文档在哪里?

linter的(第二个)错误是:

(54,24):错误TS2322:输入'{onChange:(e:Event)=> void; ''不能赋值为'DetailedHTMLProps,HTMLInputElement>'.输入'{onChange:(e:Event)=> void; }'不能赋值为'InputHTMLAttributes'.属性'onChange'的类型是不兼容的.类型'(e:Event)=> void'不能分配给'EventHandler> |类型 未定义".类型'(e:Event)=> void'不能分配给'EventHandler>'类型.参数"e"和"事件"的类型不兼容.类型'ChangeEvent'不能分配给'Event'类型."ChangeEvent"类型中缺少属性"cancelBubble".

import * as React from 'react';
import './Hello.css';

interface Props {
    name: string;
}

interface State {
    name: string;
}

class Hello extends React.Component<Props, State> {

public static defaultProps = {
    name: 'John',
};

constructor(props: Props) {
    super(props);
    this.state = {
        name: props.name,
    };
    this.handleChange = this.handleChange.bind(this);
}

handleChange(e: Event): void {
    this.setState({
        name: e.target.value //Error : property 'value' does not exist on type 'EventTarget'
    });
} …
Run Code Online (Sandbox Code Playgroud)

typescript reactjs

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

React/Redux 存储更新但组件不重新渲染

我已经看到很多关于这个标题的 SO/github 问题,而且我确信实际上 99% 的时间都没有执行导致此错误的原因:-connect wrapper 组件与 MapStateToProps 和 MapDispatchToProps,-return new State 而不是变异减速机的实际状态。

在 redux devtools 扩展中,当我调度 ADD_TODO 时,我可以看到 StoreState 随列表中的新 Todo 发生变化。当我调度 ADD_TODO 时,Body 组件不会重新渲染。如果我在 todos 初始 StoreState 中注入一个 Todo,则 Todo 将显示在 Body 组件中。

你可以在这里找到存储库

减速机:

import { TodoAction } from '../actions';
import { StoreState } from '../types/index';
import { ADD_TODO, TOGGLE_TODO } from '../constants/index';
import TodoModel from '../models/TodoModel';

export function todos(state: StoreState, action: TodoAction): StoreState {
    let todos: Array<TodoModel>;
    switch (action.type) {
        case ADD_TODO:
            todos = …
Run Code Online (Sandbox Code Playgroud)

typescript reactjs redux

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

获得红色的schemeCategory10

我想要获得的红色(或任何颜色)schemeCategory10。我尝试了这个:

var colors = d3.scaleOrdinal(d3.schemeCategory10);
colors(1);
Run Code Online (Sandbox Code Playgroud)

但是,当我将数字更改为功能颜色时,总是得到相同的颜色(橙色)。

如何获得红色而不是橙色?它是如何工作的?

javascript d3.js

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

打字稿不能转换为泛型类型变量

我想创建一个通用函数来在 typescript-redux 中创建操作。

我想要的是使用传递接口作为类型变量的函数。所以我从这个功能开始:

function action<F>(type: string, payload: any): F {
    return { type, payload };
}
Run Code Online (Sandbox Code Playgroud)

我想像这样使用它:

interface Login {
    type: LOGIN_REQUEST;
    payload: credentials;
}

const Login = (credentials: Credentials) 
     => action<Login>(LOGIN_REQUEST, credentials);
Run Code Online (Sandbox Code Playgroud)

问题是有这个错误:

Type '{ type: string; payload: any; }' is not assignable to type 'F'.
Run Code Online (Sandbox Code Playgroud)

typescript redux

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

在 postgresql 中查找距离 lat、lng 最近的项目

我的表包含 lat 和 lng 列:

液化天然气| 双精度 | 不为空

纬度 | 双精度 | 不为空

我只想检索某个位置(经纬度)的结果。

我该怎么做 ?

postgresql

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

Gilab CI:从环境变量加载 ssh 密钥

我花了一天时间尝试将密钥对添加到 Gitlab CI 中的 docker 映像

当在 ssh-keygen 中加载密钥以生成 pub 密钥或在 ssh-add 中加载私钥时,我总是收到这些错误:“libcrypto 错误”或“格式无效”(取决于所使用的 docker 映像):

加载密钥“/root/.ssh/id_rsa”:libcrypto 中出现错误

代码如下:

job_deploy:
  image: ubuntu:kinetic
  stage: deploy
  rules:
    - if: $CI_PIPELINE_SOURCE == "push"
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"
    - if: $CI_COMMIT_BRANCH == "master"

  environment: "staging"
  before_script:
    - 'command -v ssh-agent >/dev/null || ( apt-get update -y && apt-get install openssh-client openssl libssl-dev -y )'
    - eval $(ssh-agent -s)
    # - echo -n "${SSH_PRIVATE_KEY}" | tr -d '\r' | ssh-add - > /dev/null
    - …
Run Code Online (Sandbox Code Playgroud)

ssh openssl docker gitlab-ci

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

标签 统计

typescript ×4

reactjs ×2

redux ×2

d3.js ×1

docker ×1

gitlab-ci ×1

javascript ×1

jwt ×1

node.js ×1

openssl ×1

postgresql ×1

ssh ×1