Javascript 将createClass更改为Component
我对这个最基本的问题感到非常抱歉。我在谷歌上搜索过,也尝试过其他StackOverflow帖子,但都没有效果。我正在尝试创建带有验证的表单,我发现了以下示例:Javascript 将createClass更改为Component,javascript,forms,reactjs,react-native,Javascript,Forms,Reactjs,React Native,我对这个最基本的问题感到非常抱歉。我在谷歌上搜索过,也尝试过其他StackOverflow帖子,但都没有效果。我正在尝试创建带有验证的表单,我发现了以下示例: import t from 'tcomb-form' const FormSchema = t.struct({ name: t.String, // a required string age: t.maybe(t.Number), // an optional number rememberMe: t.B
import t from 'tcomb-form'
const FormSchema = t.struct({
name: t.String, // a required string
age: t.maybe(t.Number), // an optional number
rememberMe: t.Boolean // a boolean
})
const App = React.createClass({
onSubmit(evt) {
evt.preventDefault()
const value = this.refs.form.getValue()
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>
)
}
})
以下是我的尝试:
从“React”导入React,{Component}
从“tcomb表单”导入t
export class GiveFeedback extends Component {
const FormSchema = t.struct({
name: t.String, // a required string
age: t.maybe(t.Number), // an optional number
rememberMe: t.Boolean // a boolean
})
onSubmit(evt) {
evt.preventDefault()
const value = this.refs.form.getValue()
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 GiveFeedback
导出类扩展组件{
const FormSchema=t.struct({
name:t.String,//一个必需的字符串
年龄:t.maybe(t.Number),//可选数字
记住:t.Boolean//a Boolean
})
onSubmit(evt){
evt.preventDefault()
常量值=this.refs.form.getValue()
如果(值){
console.log(值)
}
}
render(){
返回(
拯救
)
}
}
导出默认反馈
但是,当我运行代码时,会出现以下错误:
意外令牌(7:10)
5 |导出类组件{
6 |
7 | const FormSchema=t.struct({
| ^
8 | name:t.String,//一个必需的字符串
9 |年龄:t.maybe(t.Number),//可选数字
10 |记住:t.布尔//布尔
我希望有人能帮忙
非常感谢一切都很好,你只要在课堂上放置const,它就无效了 删除您的代码并将其放在课堂之外
const FormSchema = t.struct({
name: t.String, // a required string
age: t.maybe(t.Number), // an optional number
rememberMe: t.Boolean // a boolean
})
export class GiveFeedback extends Component {
......
}
或者也可以在render()函数中放置常量
信息:任何在react组件中定义的自定义方法都需要引用此,如果没有此项,则无法使用setState和其他类方法
有很多方法可以将此绑定到方法
一,
二,
一切都很好,你只要把常量放在课堂上,它就无效了 删除您的代码并将其放在课堂之外
const FormSchema = t.struct({
name: t.String, // a required string
age: t.maybe(t.Number), // an optional number
rememberMe: t.Boolean // a boolean
})
export class GiveFeedback extends Component {
......
}
或者也可以在render()函数中放置常量
信息:任何在react组件中定义的自定义方法都需要引用此,如果没有此项,则无法使用setState和其他类方法
有很多方法可以将此绑定到方法
一,
二,
您正在复制
导出
关键字:
export class GiveFeedback extends Component {
// ...
export default GiveFeedback
根据ES6export
documentation(),您可以使用以下两个选项中的任意一个:
export default class GiveFeedback extends Component {
// or
class GiveFeedback extends Component {
// ... your class definition here
}
export default GiveFeedback
我建议您选择第二个选项,因为以后很容易添加一些装饰器(如redux):
Plus
看看如何实现带有验证的表单。我使用它,它非常有用,并且文档化程度高
祝你好运!你正在复制
导出
关键字:
export class GiveFeedback extends Component {
// ...
export default GiveFeedback
根据ES6export
documentation(),您可以使用以下两个选项中的任意一个:
export default class GiveFeedback extends Component {
// or
class GiveFeedback extends Component {
// ... your class definition here
}
export default GiveFeedback
我建议您选择第二个选项,因为以后很容易添加一些装饰器(如redux):
Plus
看看如何实现带有验证的表单。我使用它,它非常有用,并且文档化程度高
祝你好运!我将常量放在类之外,当生成表单时,一旦我在字段中输入一些数据并单击“提交”,我就会得到错误
TypeError:无法读取行const value=this.refs.form.getValue()的未定义的属性'refs'
我还将常量
放在渲染中,同样的错误您忘记绑定提交方法使用这个onSubmit=(evt)=>{…}或这个.onSubmit.bind(这个);我以前见过这种语法。我在哪里写这个这个.onSubmit.bind(这个)
还有绑定东西意味着什么?亲爱的,这似乎很有效,谢谢!作为一个附带问题,如果你不想回答,我不希望你回答这个问题,因为这不是原始问题的一部分,而是console.log()
生成空值。原因是什么?我复制并粘贴了示例我将常量放在类外,生成表单时,在字段中输入一些数据并单击“提交”后,我得到错误类型错误:无法读取行常量值=this.refs.form.getValue()的未定义的属性“refs”
我还将常量
放在渲染中,同样的错误您忘记绑定提交方法使用这个onSubmit=(evt)=>{…}或这个.onSubmit.bind(这个);我以前见过这种语法。我在哪里写这个这个.onSubmit.bind(这个)
还有绑定东西意味着什么?亲爱的,这似乎很有效,谢谢!作为一个附带问题,我不希望你回答这个问题,如果你不想回答的话,因为它不是原始问题的一部分,但是console.log()
生成空值。有什么原因吗?我复制并粘贴了这个示例
export default class GiveFeedback extends Component {
// or
class GiveFeedback extends Component {
// ... your class definition here
}
export default GiveFeedback
export default connect(mapStateToProps, actions)(GiveFeedback);