首页 > 解决方案 > ant-design-pro,登录,TypeError:_form2.default.create(...) 不是函数

问题描述

我正在尝试使用 antd 创建一个登录表单,如下所示。我很确定我正在关注官方文档。而且我只是用typescript,我也猜想,antd也是用ts写的。

import Login from 'ant-design-pro/lib/Login';

import React,{useState} from "react";

const { Tab, UserName, Password,Submit } = Login;

const Join = () => {
    const [type,setType]=useState('tab2')
    const onSubmit = (err:any, values:any) => {
        console.log('value collected ->', {
            ...values,
        });
    };
    const onTabChange = (key:string) => {
        setType(key)
    };
    return (
        <div className="login-warp">
            <Login
                defaultActiveKey={type}
                onTabChange={onTabChange}
                onSubmit={onSubmit}
            >
                <Tab key="tab1" tab="Account"

                     tabUtil={
                         {
                             addTab: (id: any) => {},
                             removeTab: (id: any) => {},
                         }
                     }
                >
                    {/*@ts-ignore*/}
                    <UserName name="username" />
                    {/*@ts-ignore*/}
                    <Password name="password" />
                </Tab>
                <Submit>Login</Submit>
            </Login>
        </div>
    );
}

export {Join}

这可以正确编译,但会产生运行时错误: TypeError: _form2.default.create(...) is not a function

完整消息如下所示:

./node_modules/ant-design-pro/lib/Login/index.js
D:/projects/lolpro/front/node_modules/ant-design-pro/lib/Login/index.js:219
  216 |   Login[item] = _LoginItem2.default[item];
  217 | });
  218 | 
> 219 | exports.default = _form2.default.create()(Login);
  220 | module.exports = exports.default;

我没有使用任何状态管理库,目前也没有任何使用的打算。我只是想多了解一下 antd-pro。

标签: reactjstypescriptantd

解决方案


推荐阅读