嗨,我是新人,对基本问题感到抱歉。
我正在尝试在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
答案 0 :(得分:5)
这是匿名ES2015 Arrow function,这与const
关键字无关
箭头函数隐式或显式返回,取决于您是否使用函数体块{}
。
要么这样做(显式返回):
const Age = t.refinement(t.Number, (n) => {return n >= 18});
或者这样做(隐式返回):
const Age = t.refinement(t.Number, (n) => n >= 18);