【问题标题】:How to return in a const method如何在 const 方法中返回
【发布时间】:2018-06-04 02:26:35
【问题描述】:

您好,我是新手,对这个基本问题很抱歉。

我正在尝试在 const 中定义一个方法

const Age = t.refinement(t.Number, (n) => return n >= 18);

但是,linter 不喜欢我在方法中有 return 关键字。这里是类

import React, { Component } from 'react'
import { postFeedback } from 'Services/Config'
import { render } from 'react-dom';
import t from 'tcomb-form';


const FormSchema = t.struct({
    name: t.String,         // a required string
    age: t.Number, // an optional number
    rememberMe: t.Boolean   // a boolean
})

const Age = t.refinement(t.Number, (n) => return n >= 18);

export class Form extends Component {

onSubmit = (evt) => {
    evt.preventDefault()
    const value = this.refs.form.getValue()
    console.log(value)
    console.log("validation ->   " + this.refs.form.validate())
    if (value) {
        console.log(value)
    }
}

render() {
    return (
        <form onSubmit={this.onSubmit}>
            <t.form.Form ref="form" type={FormSchema} />
            <div className="form-group">
                <button type="submit" className="btn btn-primary">Save</button>
            </div>
        </form>
    )
}

}


export default Form

【问题讨论】:

  • 问题是什么?

标签: javascript forms reactjs react-native constants


【解决方案1】:

这是匿名ES2015 Arrow function,与const关键字无关。
箭头函数隐式或显式返回,取决于您是否使用函数体块{}

要么这样做(显式返回):

const Age = t.refinement(t.Number, (n) => {return n >= 18});

或者这样做(隐式返回):

const Age = t.refinement(t.Number, (n) => n >= 18);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-24
    • 1970-01-01
    • 2017-03-19
    • 2011-04-29
    • 2013-10-06
    • 1970-01-01
    相关资源
    最近更新 更多