属性 'submitAction' 在类型“{}”中缺失,但在类型中是必需的
Property 'submitAction' is missing in type '{}' but required in type
我正在尝试学习 redux 表单和打字稿,但我 运行 遇到了一个我无法解决的错误。
错误是:Property 'submitAction' is missing in type '{}' but required in type 'Readonly<IDispatchProps & Partial<ConfigProps<IUser, IDispatchProps, string>>>'.ts(2741)
这是我认为错误的地方...
//Form.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);
错误显示在 <FormEx />
import React from 'react';
import { connect } from 'react-redux';
import { createStream } from '../../actions';
import './formStyles.scss';
import { FormEx } from './Form/From';
interface StreamCreate {
createStream: any;
}
class StreamCreate extends React.Component<StreamCreate> {
render() {
return (
<div>
<h3>Create</h3>
<FormEx />
</div>
)
}
}
export default connect(null, { createStream })(StreamCreate);
谢谢
您的 Form
组件有一个必需的 submitAction
道具。 (在您的 IDispatchProps
界面中定义。)
将类型为 () => any
的任何函数传递给您的 <FormEx />
组件,错误就会消失。
例如:
<FormEx submitAction={console.log("submit")} />
我正在尝试学习 redux 表单和打字稿,但我 运行 遇到了一个我无法解决的错误。
错误是:Property 'submitAction' is missing in type '{}' but required in type 'Readonly<IDispatchProps & Partial<ConfigProps<IUser, IDispatchProps, string>>>'.ts(2741)
这是我认为错误的地方...
//Form.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);
错误显示在 <FormEx />
import React from 'react';
import { connect } from 'react-redux';
import { createStream } from '../../actions';
import './formStyles.scss';
import { FormEx } from './Form/From';
interface StreamCreate {
createStream: any;
}
class StreamCreate extends React.Component<StreamCreate> {
render() {
return (
<div>
<h3>Create</h3>
<FormEx />
</div>
)
}
}
export default connect(null, { createStream })(StreamCreate);
谢谢
您的 Form
组件有一个必需的 submitAction
道具。 (在您的 IDispatchProps
界面中定义。)
将类型为 () => any
的任何函数传递给您的 <FormEx />
组件,错误就会消失。
例如:
<FormEx submitAction={console.log("submit")} />