Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.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 反应js渲染问题_Javascript_Reactjs - Fatal编程技术网

Javascript 反应js渲染问题

Javascript 反应js渲染问题,javascript,reactjs,Javascript,Reactjs,嗨,我在听这个 但在最后,当他将函数改为类时,对我来说什么都不起作用 我在谷歌上查过道具类型,因为它没有给我好的结果 当我运行这段代码时,它不知怎么地运行了,但当我更改“转到登录页”时,出现了以下错误 LoginPage(…):渲染未返回任何内容。这通常意味着缺少返回语句。或者,要不呈现任何内容,请返回null 这是密码 Loginform.js 吸引我注意力的第一件事是!!错误。电子邮件为什么你甚至需要这个。这就是为什么会发生这样的事 让k=“someString”; console.log

嗨,我在听这个

但在最后,当他将函数改为类时,对我来说什么都不起作用 我在谷歌上查过道具类型,因为它没有给我好的结果

当我运行这段代码时,它不知怎么地运行了,但当我更改“转到登录页”时,出现了以下错误

LoginPage(…):渲染未返回任何内容。这通常意味着缺少返回语句。或者,要不呈现任何内容,请返回null

这是密码

Loginform.js


吸引我注意力的第一件事是
!!错误。电子邮件
为什么你甚至需要这个。这就是为什么会发生这样的事

让k=“someString”;
console.log(“k是”,k);

console.log(!!k是,!!k)
必须与
return
位于同一行:
return(
。否则函数将返回
未定义的
@FelixKling谢谢你。我不知道--
/home/admin ad/react js/booksworm/booksworm react/src/component/forms/LoginForm.js 75:13错误“submit”PropType已定义,但prop从未使用过react/no未使用的prop type
你能解释一下吗???@FelixKling别担心,明白了吗it@MadhuNair你为什么一开始就这样格式化你的代码?@EdmundReed我是个新手,不知道这个
返回(
任何问题我下次都会小心:)干杯
import React from 'react';
import { Form, Button } from 'semantic-ui-react';
import Validator from 'validator';
import propTypes from 'prop-types';
import InLineError from '../messages/InLineError';

class LoginForm extends React.Component {
    state = {
        data: {
            email: '',
            password: ''
        },
        loading: false,
        errors: {}
    }

        onChange = e => 
        this.setState({
            data: { ...this.state.data, [e.target.name]: e.target.value } 
            });

        onSubmit = () => 
        {
            const errors =this.validate(this.state.data);
            this.setState({errors});
            if(Object.keys(errors).length === 0)
            {
                this.Props.submit(this.state.data);
            }
        };
        validate = (data) => 
        {
            const errors = {};

            if(!data.password) errors.password='password can\'t be blank'
            if(!Validator.email) errors.email= 'email invalid'

            return errors;
        }

        render() {
            const { data,errors } = this.state;

            return (
                <Form  onSubmit={this.onSubmit}  >
                    <Form.Field error={!!errors.email} >
                        <label htmlFor='email'>Email</label>
                        <input 
                        type='email' 
                        id='email' 
                        name='email' 
                        placeholder='example@xyz.com' 
                        value={data.email}
                        onChange={this.onChange} />
                        {errors.email && <InLineError text={errors.email}/>}
                    </Form.Field>
                    <Form.Field error={!!errors.password} >
                        <label htmlFor='password'>Password</label>
                        <input 
                        type='password' 
                        id='password' 
                        name='password' 
                        placeholder='secure' 
                        value={data.password}
                        onChange={this.onChange} />
                        {errors.password && <InLineError text={errors.password}/>}
                    </Form.Field>
                    <Button primary>login</Button>
                </Form>
            );
        }
    }

    LoginForm.propTypes={
    submit: propTypes.func.isRequired
    };

export default LoginForm;
import React from 'react';
import propTypes from 'prop-types';


const InLineError = ({ Text }) =>  <span style= {{color:'#ae5856'}}>{ Text }</span>;

InLineError.propTypes={
    Text:propTypes.string.isRequired
};

export default InLineError;
import React from 'react';
import Loginform from '../forms/LoginForm'

class LoginPage extends React.Component {
submit = (data) => {
    console.log(data);
};

    render()
    {
        return
        (
                <div>
                <h1>LoginPage</h1>
                <Loginform submit = {this.submit}/>
                </div>
        );
    }
}

export default LoginPage;
 sudo yarn  lint
yarn lint v0.15.1$ eslint src

/home/admin-ad/react js/bookworm/bookworm-react/src/component/forms/LoginForm.js
  75:13  error  'submit' PropType is defined but prop is never used  react/no-unused-prop-types

/home/admin-ad/react js/bookworm/bookworm-react/src/component/pages/LoginPage.js
   6:5  warning  Unexpected console statement                                           no-console
  12:9  error    Expected an assignment or function call and instead saw an expression  no-unused-expressions
  12:9  error    Unreachable code                                                       no-unreachable

✖ 4 problems (3 errors, 1 warning)

(node:10799) [ESLINT_LEGACY_OBJECT_REST_SPREAD] DeprecationWarning: The 'parserOptions.ecmaFeatures.experimentalObjectRestSpread' option is deprecated. Use 'parserOptions.ecmaVersion' instead. (found in "node_modules/eslint-config-airbnb-base/index.js")
error Command failed with exit code 1.
info Visit http://yarnpkg.com/en/docs/cli/lint for documentation about this command.