我希望使用 class-transformer / class-validator 将表单值转换为 UI 中的正确类型。它适用于我的服务器应用程序,但不适用于 React。有人可以帮忙吗?
import { plainToClass } from "class-transformer";
import { IsNumber } from "class-validator";
import "reflect-metadata";
export class LovelyObject {
@IsNumber()
//@ts-ignore
public shouldBeANumber: number;
}
const worksIfNotInReact = plainToClass(
LovelyObject,
{ shouldBeANumber: "234" },
{ enableImplicitConversion: true }
);
预期输出(在服务器应用程序中工作)
{"shouldBeANumber" : 234}
ReactJS 中的输出
{"shouldBeANumber" : "234"}
此代码在这里工作正常:https ://codesandbox.io/s/workshere-c4wek?file=/src/index.ts:0-341
但在反应应用程序的上下文中不起作用:https ://codesandbox.io/s/not-working-q80uy?file=/src/App.tsx