在handlesubmit上,它保留初始值,而不是更改后的初始值

时间:2019-08-23 20:28:31

标签: submit state redux-form

我试图更新通过axios调用发送数据的mongodb记录。以某种方式传递给调用的值保留了初始化状态下的旧值。任何帮助将不胜感激。

class AccountOverview extends Component {

 constructor() {
   super();
   this.state = { data: [] };
 }

  async componentDidMount() {

try {
  const userid = this.props.state.auth._id

  const request = await axios.get('/api/user/' + userid)
  const userdata = await request.data
   ...


  let data = 
  {
    fullname: userdata.name,
    username: userdata.username,
    ....
  }

  return this.setState({ data })
  } catch (error) {
      return null;
  }

  }

  async saveAccount (values)
  {
  const putAccount = 
  await axios.put('/api/utils/updateaccount/:userid' + values.userid, values)
   console.log(values) // show values send
   }



render() {
return (
  <div>
    <form onSubmit={this.props.handleSubmit(this.saveAccount)}>
         .....
        <div className="row">
          <div className="col-sm">

            <PersonalInfo
              initialValues={this.state.data} 
            />
            .....

    );
}
}

function mapStateToProps(state) {

 return {
    state
 }

}

export default reduxForm({
  form: "AccountOverview",
  enableReinitialize: true
   })(connect(mapStateToProps)(AccountOverview))

即使通过编辑字段更改实际值,console.log(values)仍会发送相同的值。

0 个答案:

没有答案