为什么 redux 表单自动提交然后获取请求?
why redux form autosubmit and then get request?
简介:
为了学习 redux 形式,我遵循了这个 youtube 教程 here 但我没有得到与作者在那里相同的行为(我没有使用他的模板,但只是在我的工作模板中实现了他的组件) .
我的预期:
- 提交后让 redux 表单输出表单值到控制台
- 如果我提交表单,没有发出请求,但值仅在控制台中打印
我在现实中得到的:
- Redux 表单似乎在初始化步骤中自动提交,当导航到 localhost:3000 时,我在控制台中得到空表单对象
- 如果我按下提交,Redux 表单将发出一个获取请求,而我仍然没有准备好我的后端。
我的代码(仅从 youtube 获取)首先是以下形式:
import React, {Component} from 'react';
import {Field, reduxForm} from 'redux-form';
class ReduxFormTrial extends Component{
render(){
return (
<form onSubmit={this.props.handleSubmit()}>
<div>
<label htmlFor="firstName">First Name Here:</label>
<Field name="firstName" component="input" type="text"/>
</div>
<button type="submit">Submit</button>
</form>
)
}
}
ReduxFormTrial = reduxForm({form: 'contact'})(ReduxFormTrial);
export default ReduxFormTrial;
然后是包含它的组件,表示:
import React, {Component} from 'react';
import ReduxFormTrial from './reduxformtrial';
export default class ReduxFormHOC extends Component{
submit = (values) => {
// print the form values to the console
console.log(values)
}
render(){
return (
<ReduxFormTrial onSubmit={this.submit}/>
)
}
}
请告诉我:
- 如何阻止 redux 表单自动提交(初始化时发布空值)
- 如何防止它发送获取请求?(我希望某个地方有 e.preventDefault() 但我不知道放在哪里?)
编辑:
我通过以这种方式编辑我的表单来解决这个问题:
<form onSubmit={this.props.handleSubmit(this.props.onSubmit)}>
但也许我做的一切都是错误的,所以我仍然会等待正确的方法,如果有人好心希望能提出建议。
提前致谢。
而不是:
<form onSubmit={this.props.handleSubmit()}>
你应该写:
<form onSubmit={this.props.handleSubmit}>
简介:
为了学习 redux 形式,我遵循了这个 youtube 教程 here 但我没有得到与作者在那里相同的行为(我没有使用他的模板,但只是在我的工作模板中实现了他的组件) .
我的预期:
- 提交后让 redux 表单输出表单值到控制台
- 如果我提交表单,没有发出请求,但值仅在控制台中打印
我在现实中得到的:
- Redux 表单似乎在初始化步骤中自动提交,当导航到 localhost:3000 时,我在控制台中得到空表单对象
- 如果我按下提交,Redux 表单将发出一个获取请求,而我仍然没有准备好我的后端。
我的代码(仅从 youtube 获取)首先是以下形式:
import React, {Component} from 'react';
import {Field, reduxForm} from 'redux-form';
class ReduxFormTrial extends Component{
render(){
return (
<form onSubmit={this.props.handleSubmit()}>
<div>
<label htmlFor="firstName">First Name Here:</label>
<Field name="firstName" component="input" type="text"/>
</div>
<button type="submit">Submit</button>
</form>
)
}
}
ReduxFormTrial = reduxForm({form: 'contact'})(ReduxFormTrial);
export default ReduxFormTrial;
然后是包含它的组件,表示:
import React, {Component} from 'react';
import ReduxFormTrial from './reduxformtrial';
export default class ReduxFormHOC extends Component{
submit = (values) => {
// print the form values to the console
console.log(values)
}
render(){
return (
<ReduxFormTrial onSubmit={this.submit}/>
)
}
}
请告诉我:
- 如何阻止 redux 表单自动提交(初始化时发布空值)
- 如何防止它发送获取请求?(我希望某个地方有 e.preventDefault() 但我不知道放在哪里?)
编辑:
我通过以这种方式编辑我的表单来解决这个问题:
<form onSubmit={this.props.handleSubmit(this.props.onSubmit)}>
但也许我做的一切都是错误的,所以我仍然会等待正确的方法,如果有人好心希望能提出建议。
提前致谢。
而不是:
<form onSubmit={this.props.handleSubmit()}>
你应该写:
<form onSubmit={this.props.handleSubmit}>