Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 财产';提交';类型'中缺少;{}';但类型是必需的_Javascript_Reactjs_Typescript_Redux_Redux Form - Fatal编程技术网

Javascript 财产';提交';类型'中缺少;{}';但类型是必需的

Javascript 财产';提交';类型'中缺少;{}';但类型是必需的,javascript,reactjs,typescript,redux,redux-form,Javascript,Reactjs,Typescript,Redux,Redux Form,我试图学习redux表单和打字脚本,但我遇到了一个无法解决的错误 错误是:属性“submitAction”在类型“{}”中丢失,但在类型“Readonly”中是必需的。ts(2741) 这就是我认为错误的地方 //表格1.tsx import * as React from 'react'; import { Input } from "../FormInput/FormInput"; import { Button } from "../FormButton/FormButton" impor

我试图学习redux表单和打字脚本,但我遇到了一个无法解决的错误

错误是:
属性“submitAction”在类型“{}”中丢失,但在类型“Readonly”中是必需的。ts(2741)

这就是我认为错误的地方

//表格1.tsx

import * as React from 'react';
import { Input } from "../FormInput/FormInput";
import { Button } from "../FormButton/FormButton"
import { Validation } from "./FormValidation"
import { reduxForm, InjectedFormProps, Field } from 'redux-form';
import './formStyles.scss';

export interface IUser {
  title: string;
  description: string;
}

export interface IDispatchProps {
  submitAction:() => any;
}

const Form = (props:IDispatchProps & InjectedFormProps<IUser, IDispatchProps>) => (
    <div className="LoginFormWrapper">
      <div className="bodyWrapper">
        <Field
          id="title"
          name="title"
          placeholder="Enter title"
          type="text"
          component={Input}
        />
        <Field
          id="description"
          name="description"
          placeholder="Enter description"
          type="text"
          component={Input}
        />
        <div className="buttonWrapper">
          <Button
            text="Submit"
            onClick={() => props.submitAction()}
            isDisabled={props.invalid}
          />
        </div>
      </div>
    </div>
);

export const FormEx = reduxForm<IUser, IDispatchProps>({
  form: 'Form',
  validate: Validation,
})(Form);
import*as React from'React';
从“./FormInput/FormInput”导入{Input};
从“./FormButton/FormButton”导入{Button}
从“/FormValidation”导入{Validation}
从“redux表单”导入{reduxForm,InjectedFormProps,Field};
导入“./formStyles.scss”;
导出接口IUser{
标题:字符串;
描述:字符串;
}
导出接口IDispatchProps{
提交:()=>任何;
}
常量形式=(道具:IDispatchProps和InjectedFormProps)=>(
props.submitAction()}
isDisabled={props.invalid}
/>
);
export const FormEx=reduxForm({
表格:'表格',
验证:验证,
})(表格);
错误显示在此处的

从“React”导入React;
从'react redux'导入{connect};
从“../../actions”导入{createStream};
导入“./formStyles.scss”;
从“./Form/from”导入{FormEx};
接口流创建{
createStream:任何;
}
类StreamCreate扩展了React.Component{
render(){
返回(
创造
)
}
}
导出默认连接(null,{createStream})(StreamCreate);

谢谢

您的
表单
组件具有所需的
submitAction
道具。(如
IDispatchProps
界面中所定义。)

将任何类型为
()=>any
的函数传递给
组件,错误就会消失

例如:

<FormEx submitAction={console.log("submit")} />

<FormEx submitAction={console.log("submit")} />