无法使用reactjs将Javascript函数写入Typescript?

问题描述

我的目标是验证表单。当我们提交带有空白字段的表单时,它应该显示错误。 我在Javascript中编写了验证功能,但无法将其转换为打字稿。

JSX功能代码

  validation = (error) => {
        let valid = true;
        Object.keys(error).map((key: string) => {
            this.onChange(key,this.state[key]);
            if (this.state.error[key].length)
                valid = false;
        });
        return valid;
    }

错误包含:

error = {name:"",age: "",college: "",experience: ""}

如果我以相同的方式在Typescript中编写相同的函数,则会引发错误 元素隐式具有'any'类型,因为类型'string'的表达式不能用于索引类型'只读'。 在“只读”类型上未找到带有“字符串”类型参数的索引签名

有人可以在此查询中为我提供帮助吗?

解决方法

您可以尝试将类型明确显示在错误变量中

validation = (error: {name: string,age: string,college: string,experience: string}): boolean => {
        let valid = true;
        let that = this;
        Object.keys(error).map((key: string) => {
            that.onChange(key,that.state[key]);
            if (that.state.error[key].length)
                valid = false;
        });
        return valid;
    }
,

您可以通过执行此操作来解决此问题,但是您的代码有点奇怪,因此我编写了一个示例,可能有助于您编写更简单的表单https://www.twilio.com/docs/voice/twiml/conference。但是,如果您希望现有代码能够正常工作:

~/.local/bin/tensorflowjs_converter model/ quantized_model/
--input_format tf_saved_model --output_format tfjs_graph_model --quantize_uint8