Reactjs TypeError:无法读取属性';验证字段';未定义的反动式&;德扬戈?没有antd,我如何解决此问题?

Reactjs TypeError:无法读取属性';验证字段';未定义的反动式&;德扬戈?没有antd,我如何解决此问题?,reactjs,Reactjs,当我尝试登录时,我收到了这个错误(TypeError:Cannotreadproperty'validateFields'ofundefined),我也阅读了关于antd的文档,但我不想在我的项目中使用antd没有antd我如何解决这个问题。。。我有简单的反应引导表。。。有人知道我如何解决这个问题吗 login.js import React from 'react' import { Link } from 'react-router-dom' import { connect } from

当我尝试登录时,我收到了这个错误(TypeError:Cannotreadproperty'validateFields'ofundefined),我也阅读了关于antd的文档,但我不想在我的项目中使用antd没有antd我如何解决这个问题。。。我有简单的反应引导表。。。有人知道我如何解决这个问题吗

login.js

import React from 'react'
import { Link } from 'react-router-dom'
import { connect } from 'react-redux';
import { Form } from 'react-bootstrap';
import * as actions from './actions/auth';
import FullPageLoader from "../components/FullPageLoader";

class NormalLoginForm extends React.Component {
    handleSubmit = (e) => {
        e.preventDefault();
        this.props.form.validateFields((err, values) => {
            if (!err) {
                this.props.onAuth(values.userName, values.password);
                this.props.history.push('/');
            }
        });
    }
    render() {
        let errorMessage = null;
        if (this.props.error) {
            errorMessage = (
                <p>{this.props.error.message}</p>
            );
        }

        return (
            <div className="form-flex">
                {errorMessage}
                {
                    this.props.isLoading ?
                        <FullPageLoader />
                        :
                        <Form onSubmit={this.handleSubmit} className="login-form form-group">
                            <h1 className="h4 text-center font-weight-normal">Sign in</h1>
                            <div className="form-group">
                                <input
                                    className="form-control"
                                    name="username"
                                    autoComplete="off"
                                    type="text"
                                    required
                                    placeholder="username" />
                            </div>
                            <div className="form-group">
                                <input
                                    className="form-control"
                                    name="password"
                                    autoComplete="off"
                                    type="password"
                                    required
                                    placeholder="password" />
                            </div>
                            <div className="form-group">
                                <button type="submit" className="btn btn-block btn-secondary">Login</button>
                            </div>
                            <small>
                                <Link to="/passwordforget">Forgot password?</Link>
                            </small>
                        </Form>
                }
            </div >
        );
    }
}
const mapStateToProps = (state) => {
    return {
        loading: state.loading,
        error: state.error
    }
}

const mapDispatchToProps = dispatch => {
    return {
        onAuth: (username, password) => dispatch(actions.authLogin(username, password))
    }
}
export default connect(mapStateToProps, mapDispatchToProps)(NormalLoginForm);
从“React”导入React
从“react router dom”导入{Link}
从'react redux'导入{connect};
从'react bootstrap'导入{Form};
将*作为操作从“/actions/auth”导入;
从“./组件/FullPageLoader”导入FullPageLoader;
类NormalLoginForm扩展了React.Component{
handleSubmit=(e)=>{
e、 预防默认值();
this.props.form.validateFields((错误,值)=>{
如果(!err){
this.props.onAuth(values.userName、values.password);
this.props.history.push('/');
}
});
}
render(){
让errorMessage=null;
if(this.props.error){
错误消息=(
{this.props.error.message}

); } 返回( {errorMessage} { 这个。道具。正在加载吗? : 登录 登录 忘记密码了? } ); } } 常量mapStateToProps=(状态)=>{ 返回{ 加载:state.loading, 错误:state.error } } const mapDispatchToProps=调度=>{ 返回{ onAuth:(用户名,密码)=>dispatch(actions.authLogin(用户名,密码)) } } 导出默认连接(mapStateToProps、mapDispatchToProps)(NormalLoginForm);
错误
无法读取未定义的属性“validateFields”
是由代码
this.props.form.validateFields
引起的。您没有将
表单
道具传递到组件中,因此它是
未定义的
,并抛出该错误


在某个地方定义一个验证器并使用它,或者删除该行。

我如何在组件中传递此表单属性?没有验证器我如何使用它。。。你想为我定义它吗…?我猜你复制粘贴了一些代码,这就是为什么它不工作的原因?查看您复制的代码,查看组件从何处调用,查看给出的
form
,并尝试从中获取
validateFields
,但我怀疑这是另一个库,所以您可以自己编写一个验证程序。一些表单库会为您提供一些很好的验证功能,具有文本突出显示等功能。这可能是一个检查,它已经完成了。否则,在处理提交之前,您可以定义一些简单的检查,以确保信息有效且不为空。这是我的原始代码复制和粘贴这是否回答了您的问题?