If we try to send this form several times, we will get infinite submitting .(如果我们尝试多次发送此表格,将会无限提交 。)
If we set the sleep() function on onSubmit , everything works fine.(如果我们在onSubmit上设置sleep()函数,则一切正常。)
Why?(为什么?) How to do it right?(怎么做对?)
import React from 'react' import { render } from 'react-dom' import { Form, Field } from 'react-final-form' const sleep = ms => new Promise(resolve => setTimeout(resolve, ms)) const onSubmit = async values => { // Everything works fine with sleep() // await sleep(100); console.log('onSubmit...'); } const App = () => ( <Form onSubmit={onSubmit} render={({ handleSubmit, submitting }) => ( <form onSubmit={handleSubmit}> <Field name="notes" component="textarea" placeholder="Notes" /> <button type="submit" disabled={submitting}> Submit </button> </form> )} /> ) render(<App />, document.getElementById('root'))
ask by Adee translate from so
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…